当前位置导航:炫浪网>>网络学院>>编程开发>>MsSQL教程

SQL Server 2000之日志传送功能(3)


  19、按下【完成】吧!此时精灵会自动从主要服务器与次要服务器之间设定日志传送动作,并且在监控服务器上设定日志传送监控程序。
   
  您可以使用数据库维护计划之【属性】对话盒来更改日志传送相关设定。在【交易记录文件备份】设定页提供的选项可更改日志传送过程中交易日志文件备份的组态。
   
  【记录传送】设定页显示出您先前在维护计划内设定的日志传送配对服务器;如果您设定了其它组日志传送配对服务器,也会列在此处。本设定页也包含下列选项:新增目的数据库(用以建立新的日志传送配对服务器)、删除既有日志传送配对服务器、编辑目前的日志传送配对服务器之属性,以及移除整个日志传送功能。
   
  当您在【记录传送】设定页之中点选【编辑】时,将开启【编辑目的数据库】对话盒。您可以在对话盒内【一般】设定页检视与修改次要服务器的交易日志文件之目录位置,以及未来做为主要服务器时分享目录之路径。【初始化】设定页则可让您更改复原模式,以及次要服务器上复制与回存之频率。【临界值】页可以设定日志传送之临界周期。
   
  在【超出同步临界值】项目可设定:当日志传送监控程序产生警示讯息之前所能允许的最大时间间隔 (介于最近一次来源数据库交易日志文件备份以及最新的交易日志文件回存动作之间)。您也可以在日志传送监控程序之中设定此参数。【在入时间延迟】、【档案保留期限】以及【历程记录保留期限】则是与次要服务器相关的设定。
  
  注:监控服务器在这些组态选项中扮演相当重要的角色。因为【记录传送】设定页的大部分信息取决于监控服务器,所以一但监控服务器停摆时,您将无法更改日志传送的组态设定值。在监控服务器执行SQL Server 2000 Profiler时,主要服务器会连到监控服务器,然后从日志传送资料表中取得既有的日志传送计划。因此,要改变日志传送计划的设定时,您必须确定在Enterprise Manager内可以连接到监控服务器。
  
  检查与监控日志传送动作
  SQL Server 2000的日志传送功能还提供了一项日志传送监控程序,可让您安装在另一台独立监控用服务器。
  在SQL Server企业版与开发版的msdb数据库中共有七个关于日志传送的资料表:
  log_shipping_plans
  log_shipping_plan_databases
  log_shipping_databases
  log_shipping_plan_history
  log_shipping_monitor
  log_shipping_primaries
  log_shipping_secondaries
  
  上述每一个资料表都存在于主要、次要以及监控服务器上。各服务器也会使用某些资料表储存资料,视该服务器在日志传送系统的角色为何。
  
  在主要服务器上检视日志传送动作 从Enterprise Manager 里,您可以登入主要服务器,并观察与监控日志传送动作。如果某个数据库已设定要进行日志传送,在数据库【内容】对话盒的【一般】页可得知该数据库的角色(来源数据库;或是目的数据库),也可知道日志传送监控程序是位于那一台服务器上。您可以在Enterprise Manager内SQL Server Agent的【作业】节点,检视日志传送与交易日志文件备份工作所执行的状态与历史纪录。主要服务器只使用msdb数据库的两个日志传送资料表。在log_shipping_databases资料表中,SQL Server新增的每一笔资料将会把数据库维护计划ID以及日志传送来源数据库连结在一起。在log_shipping_monitor资料表中,SQL Server新增的每一笔资料包含了监控服务器的名称,以及登入数据库的方式。
  
  在次要服务器上检视日志传送动作 日志传送计划存在于次要服务器。您可在次要服务器监控SQL Agent工作(复制交易日志文件到次要服务器,并回存至目的数据库)。 您也可检视目的数据库的属性对话盒,以决定该数据库在日志传送过程所扮演的角色。
  
  在次要服务器上,SQL Server使用msdb数据库的四个日志传送资料表。当SQL Server建立一个日志传送计划之后,它会新增一笔资料到log_shipping_plan资料表,用以纪录:主要与次要服务器的名称、档案位置、复制与回存工作ID(来自于次要服务器之sysjobs系统资料表)。在log_shipping_plan_databases资料表,SQL Server会连结维护计划以及来源/目的数据库名称,而且储存最后一次进行档案复制与加载动作的相关信息。log_shipping_plan_history资料表则是将每次日志传送的复制与回存事件纪录下来,连同该工作是否成功的信息。SQL Server也会新增一笔资料在log_shipping_monitor资料表,用以参照监控服务器。
  
  如果您勾选了【Allow database to assume primary role】复选框,您将在次要服务器上看到一个重要的额外项目:另一个数据库维护计划(与您先前所建立的维护计划名称相同),但是并没有激活日志传送。您也会看到一个非作用中(disabled)的SQL Agent工作(备份该数据库的交易日志)。也许您会被这些项目所混淆。尽管它们的名字相同,但是此额外产生的维护计划却不同于当初所建立的那个。SQL Server保留第二个逆向维护计划是为了以后可能发生的主要/次要服务器角色对调动作所准备。
  
  在监控服务器上检视日志传送动作 当您正确设定日志传送之后,SQL Server 会激活监控服务器上Enterprise Manager 的日志传送监控工具程序。此外,SQL Server会建立两个SQL Agent 警示工作(alert job):一个用来执行工作,另一个处理out-of-sync情况。
  
  使用监控工具程序的方式是,开启Enterprise Manager并连至监控服务器,展开【Management】节点,然后点选【记录传送监视器(Log Shipping Monitor)】。当您点选此工具程序时,其内会列出日志传送配对服务器的清单。您可在配对服务器上按下鼠标右键,检视其备份、复制与回存等工作的执行历史纪录。这些历史纪录十分有用,因为您从这里得到的错误讯息会比从次要服务器上(SQL Agent 复制与回存工作)得到的更为详尽。
  如图所示:当您开启配对服务器之属性对话盒,并进入【Status】设定页时,您可检视此配对服务器执行备份与回存程序之状态。
   
  其状态(Status)可以是Normal 或是Out-of-Sync。如果SQL Server Agent尚未复制或回存交易日志文件,对话盒内将会显示日志文件名为first_file_000000000000.trn。这并不是实际的文件名称,只不过是用来标示SQL Server Agent尚未处理任何档案而已。在【Status】设定页也会显示备份、复制以及加载(回存)等动作执行时所耗费的时间。此设定页之信息不会自动更新,所以您必须将此对话盒关闭后再开启,才能更新其资料。
  
  SQL Server只使用msdb数据库内两个资料表来储存日志传送服务器之相关资料。SQL Server在这两个资料表中都给予一个ID做为连结,以及一个外来键(foreign key)。该外来键是设定在log_shipping_secondaries资料表上,并参照log_shipping_primaries资料表的primary_id字段(这两个是所有日志传送资料表中唯一具有外来键关系的资料表)。在log_shipping_primaries资料表内的每笔资料都包含日志传送的相关信息,例如:来源数据库名称、交易日志文件备份工作执行之状态,以及已规划的停摆信息(可避免不必要的警示讯息)。而log_shipping_secondaries 资料表之每笔资料关于目的数据库之信息;每个目的数据库附属于特定的日志传送来源数据库。这两个资料表互相连结的结果就是日志传送监控程序内所显示的配对服务器信息。
  
  移除与重新组态日志传送功能
  如果您想从数据库维护计划中移除日志传送功能,可参考下列方式:开启该计划的属性对话盒,选择【记录传送】设定页,然后点选【移出记录传送】。此动作将从次要服务器上移除SQL Server Agent的备份与回存工作,并清除日志传送资料表内的所有相关资料。此外,日志传送监控程序的相关信息也会一并被清除。然而此动作将会适当地保留主要服务器上SQL Server Agent的交易日志备份工作。只有在删除数据库维护计划时,该工作才会被移除。假如您想从监控服务器内移除掉日志传送监控程序,请用手动方式将log_shipping_primaries与log_shipping_secondaries这两个资料表(位于监控服务器的msdb数据库)的资料删除即可。
   
  如果您在数据库维护计划内设定日志传送时,就已允许目的数据库可以做为新的日志传送来源数据库。当您删除主要服务器的维护计划时,次要服务器上仍然会保留其数据库维护计划,以及交易日志文件备份工作。删除这些项目的方式是将次要服务器上与日志传送相关的数据库维护计划直接删除。
  
  SQL Server 2000之日志传送功能
  可能發生的錯誤
  
  一、残余数据
  当您进行SQL Server 2000日志传送的实验时,也许偶而会中断设定过程。如果真是如此,那么某些资料仍然会存入每台服务器的日志传送资料表,并且影响到后续的日志传送设定动作。为了保证这些剩余资料都会被清除,请确实删除每台服务器msdb数据库内日志传送资料表之相关资料。
  
  错误信息:
  Error 14261: The specified primary_server_name.primary_database_name ('N') already exists.
  Error 14426: A log shipping monitor is already defined (...)
   
  处理方法:
  必须手动执行下面几个存储过程来删除Log Shipping在数据库中记录的信息。
  1、sp_delete_log_shipping_primary
  删除msdb.dbo.log_shipping_primary表中的Primary Server信息
  2、sp_delete_log_shipping_plan
相关内容
赞助商链接