如何配置日志传送的目标系统

日志传送具有备用服务器功能,用以缩短出现系统故障时的停机时间。 使用日志传送可以自动从源系统向目标系统发送事务日志。 在目标系统上,事务日志将还原到BizTalk Server数据库;使它们与源数据库保持密切同步。

日志传送既可以在单服务器环境下工作,也可以在分布式服务器环境下工作。 包含实时数据的服务器或服务器组称作源系统(或主系统)。 用来还原由源系统(或主系统)生成的数据库备份的服务器或服务器组称作目标系统(或辅助系统)。

SQL 文档中的“关于日志传送”提供了特定详细信息。

你可以运用以下步骤为单个源系统创建由一个服务器组成的目标系统。 如果目标系统包含多个服务器,则在每个目标服务器上重复执行以下步骤即可。

重要

请总是在某个安全位置保留备份文件的一个副本。 即使你进行了日志备份,在没有备份文件的情况下也无法还原数据库。

必备条件

  • 以BizTalk Server管理员组的成员身份登录。

  • 在源和目标系统上使用相同的SQL Server版本。 SQL Server必须安装在源和目标系统上的同一相对位置。

  • 源系统上的 SQL 事务日志(.LDF 文件)目录在目标系统上也必须存在。 如果该目录在目标系统上不存在,请使用与源系统上的目录相同的名称和权限创建该目录。

为日志传送配置目标系统

  1. 在目标系统上,打开SQL Server Management Studio并连接到SQL Server。 从“可用数据库”中选择 “master ”。

  2. 在“ 文件 ”菜单上, 打开 以下 SQL 脚本:

    %SystemDrive%\Program Files\Microsoft BizTalk Server <version>\Schema\LogShipping_Destination_Schema.sql  
    
  3. 在“ 查询 ”菜单上,选择“ 执行”。

    LogShipping_Destination_Schema删除并重新创建用于在目标系统上还原源数据库的表。 这些表存储了以下信息:要恢复的数据库的列表、从源系统的 BizTalkMgmtDb 数据库导入的备份历史记录的副本、有关 SQL Server 代理作业(配置为针对源数据库运行)的信息。

  4. 在“ 文件 ”菜单上, 打开 以下 SQL 脚本:

    %SystemDrive%\Program Files\Microsoft BizTalk Server <version>\Schema\LogShipping_Destination_Logic.sql  
    
  5. 在“ 查询 ”菜单上,选择“ 执行”。

  6. 在已标识为目标系统的计算机上,打开SQL Server Management Studio并连接到SQL Server。

  7. 选择“新建查询” 。 在查询窗口中粘贴以下命令:

    exec bts_ConfigureBizTalkLogShipping @nvcDescription = '<MyLogShippingSolution>',  
    @nvcMgmtDatabaseName = '<BizTalkServerManagementDatabaseName>',  
    @nvcMgmtServerName = '<BizTalkServerManagementDatabaseServer>',  
    @SourceServerName = null, -- null indicates that this destination server restores all databases  
    @fLinkServers = 1 -- 1 automatically links the server to the management database  
    

    那么:

    1. 在目标系统上,启用 即席分布式查询

    2. 在查询窗口中,将 MyLogShippingSolution> 替换为<有意义的说明,并用单引号括起来。

    3. 在查询窗口中,将 BizTalkServerManagementDatabaseName> 和 BizTalkServerManagementDatabaseServer 替换为<源 BizTalk 管理数据库的名称和位置,并用单引号括起来。><

    注意

    如果有多个源服务器,则可将每个源服务器还原到它自己的目标服务器。 在每个目标服务器上,在 @SourceServerName = null 参数中,将 null 替换为相应源服务器的名称,用单引号 (括起来,例如 ,@SourceServerName = “MySourceServer”,) 。

  8. 在“ 查询 ”菜单上,选择“ 执行”。

    重要

    如果查询失败,修复查询问题后,必须从此过程的步骤 1 重新开始重新配置目标系统。

    注意

    目标系统上的还原作业将尝试重新创建每个还原的数据库的日志和数据文件,这些文件的创建位置与它们在源数据库服务器上的位置相同。

  9. SQL Server Management Studio 中的目标系统上,展开“SQL Server 代理”,然后展开“作业”。

    在“详细信息”窗格中,有三个新作业:

    • BTS 日志传送获取备份历史记录

      此 BizTalk 作业将备份历史记录从源移到目标。 默认情况下,安排该作业每分钟运行一次。 应尽可能频繁地运行此作业,以便将备份历史记录从源系统移到目标系统。 如果源系统出现故障,则已标识为目标系统的服务器会继续处理已导入的历史记录。

    • BTS 服务器日志传送还原数据库

      此 BizTalk 作业可将源服务器中给定数据库的备份文件还原到目标服务器。 默认情况下,安排该作业每分钟运行一次。 只要存在要还原的备份文件,则该作业将一直运行下去,而不会完成。 为了安全起见,你可多运行该作业一次,以确保已经没有要还原的备份文件。

    • BTS 日志传送还原到标记

      此 BizTalk 作业可将所有数据库还原到上次日志备份中的一个标记。 这可确保所有数据库在事务性上处于一致状态。 此外,该作业还将在目标系统上重新创建源系统上的所有 SQL Server 代理作业。

      重要

      应监视这些作业,以确保它们不会失败。

  10. 在BizTalk Server,转到以下文件夹:

    32 位计算机:%SystemDrive%\Program Files\Microsoft BizTalk Server <version>\Schema\Restore

    64 位计算机:%SystemDrive%\Program Files (x86) \Microsoft BizTalk Server <version>\Bins32\Schema\Restore

  11. 右键单击 SampleUpdateInfo.xml,然后选择 “编辑”。 请执行以下操作:

    • “SourceServer” 的所有实例替换为源系统的名称。

    • “DestinationServer” 的所有实例替换为目标系统的名称。

    重要

    用引号将源系统和目标系统的名称括起来。

    注意

    如果重命名了任何BizTalk Server数据库,还必须更新 XML 文件中的数据库名称。

    注意

    如果已配置 BAM,则必须在 BAMAlertsApplication 和 BAMAlertsNSMain 数据库的 SampleUpdateInfo.xml 文件的 OtherDatabases 部分中添加以下行:
    <Database Name="BAM Alerts Application DB" oldDBName="BAMAlertsApplication" oldDBServer="SourceServer" newDBName=" BAMAlertsApplication" newDBServer="DestinationServer"/>
    <Database Name="BAM Alerts Instance DB" oldDBName="BAMAlertsNSMain" oldDBServer="SourceServer" newDBName="BAMAlertsNSMain" newDBServer="DestinationServer"/>

    如果更改了这两个数据库的默认名称,请使用实际的数据库名称。

  12. 如果BizTalk Server系统中有多个 MessageBox 数据库,请将另一个 MessageBoxDB 行添加到列表中,然后为非 master 数据库设置 IsMaster=“0”。

  13. 如果使用 BAM 或规则引擎,请相应地取消这些行的注释。

  14. 如果有任何自定义数据库,请在“OtherDatabases>”部分下<添加它们。 请参阅 如何备份自定义数据库

  15. 完成文件编辑后,保存该文件,然后退出。

后续步骤

如何还原数据库

另请参阅

如何配置备份 BizTalk Server 作业
如何安排备份 BizTalk Server 作业
如何备份自定义数据库