日志传送提供备用服务器功能,以减少系统故障时的停机时间。 日志传送允许自动将事务日志从源系统发送到目标系统。 在目标系统中,事务日志将还原到 BizTalk Server 数据库;使它们与源数据库保持密切同步。
日志传送在单一服务器和分布式服务器环境中都有效。 包含实时数据的服务器或服务器组称为源系统(或主系统)。 用于还原源(或主)系统生成的数据库备份的服务器或服务器组称为目标系统(或辅助系统)。
关于 SQL 文档中的日志传送提供了特定详细信息。
可以使用以下步骤为单个源系统创建一个由一台服务器组成的目标系统。 如果目标系统包含多个服务器,请在每个目标服务器上重复这些步骤。
重要
始终将备份文件的副本保存在安全的位置。 即使有日志备份,也不能在没有备份文件的情况下还原数据库。
先决条件
以 BizTalk Server 管理员组的成员身份登录。
在源和目标系统上使用相同的 SQL Server 版本。 SQL Server 必须安装在源系统和目标系统上的同一相对位置。
SQL 事务日志的目录(。源系统上的 LDF 文件也必须存在于目标系统上。 如果此目录不在目标系统上,请创建与源系统相同的名称和权限的目录。
为日志传送配置目标系统
在目标系统上,打开 SQL Server Management Studio 并连接到 SQL Server。 从可用数据库选择 主数据库 。
在 “文件 ”菜单上, 打开 以下 SQL 脚本:
%SystemDrive%\Program Files\Microsoft BizTalk Server <version>\Schema\LogShipping_Destination_Schema.sql
在 “查询 ”菜单上,选择“ 执行”。
LogShipping_Destination_Schema会删除并重新创建用于还原目标系统上的源数据库的表。 这包括用于存储要恢复的数据库列表的表、从源系统的 BizTalkMgmtDb 数据库导入的备份历史记录的副本,以及有关配置为针对源数据库运行的 SQL Server 代理作业的信息。
在 “文件 ”菜单上, 打开 以下 SQL 脚本:
%SystemDrive%\Program Files\Microsoft BizTalk Server <version>\Schema\LogShipping_Destination_Logic.sql
在 “查询 ”菜单上,选择“ 执行”。
在已标识为目标系统的计算机上,打开 SQL Server Management Studio 并连接到 SQL Server。
选择“新建查询” 。 在查询窗口中,粘贴以下命令:
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
然后:
在目标系统上,启用 即席分布式查询。
在查询窗口中,将 MyLogShippingSolution> 替换为<有意义的说明,用单引号括起来。
在查询窗口中,将 <BizTalkServerManagementDatabaseName> 和 <BizTalkServerManagementDatabaseServer> 替换为您的源 BizTalk 管理数据库的名称和位置,并用单引号括住。
注释
如果有多个源服务器,可以将每个源服务器还原到其自己的目标服务器。 在每个目标服务器上,在 @SourceServerName = null 参数中,将 null 替换为相应的源服务器的名称,用单引号括起来(例如 ,@SourceServerName = 'MySourceServer'),)。
在 “查询 ”菜单上,选择“ 执行”。
重要
如果查询失败,在修复查询问题后,必须从此过程的步骤 1 开始重新配置目标系统。
注释
目标系统上的还原作业会尝试在源数据库服务器上存在的相同位置为每个还原的数据库重新创建日志和数据文件。
在 SQL Server Management Studio 中的目标系统上,展开 SQL Server 代理,然后展开 作业。
在详细信息窗格中,有三个新作业:
BTS 日志传输获取备份历史记录
此 BizTalk 作业将备份历史记录从源移动到目标。 默认情况下,计划每隔一分钟运行一次。 此作业尽可能频繁地运行,以便将历史记录从源移动到目标。 如果源系统发生故障,您标识为目标系统的服务器将继续处理已导入的历史记录。
BTS 服务器日志传送还原数据库
此 BizTalk 作业将源的给定数据库的备份文件还原到目标服务器。 默认情况下,计划每隔一分钟运行一次。 只要有要还原的备份文件,此作业就持续运行。 为了保险起见,可以再运行一次此作业,以确保它已完成。
BTS 日志传送还原到特定标记
此 BizTalk 作业将所有数据库还原到上次日志备份中的标记。 这可确保所有数据库都处于事务一致性状态。 此外,此作业会在源系统上的目标系统上重新创建所有 SQL Server 代理作业。
重要
应监视这些作业,以确保这些作业不会失败。
在 BizTalk Server 上,转到以下文件夹:
32 位计算机:%SystemDrive%\Program Files\Microsoft BizTalk Server <版本>\Schema\Restore
64 位计算机:%SystemDrive%\Program Files (x86)\Microsoft BizTalk Server <版本>\Bins32\Schema\Restore
右键单击 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"/>
如果更改了这两个数据库的默认名称,请使用实际的数据库名称。
如果 BizTalk Server 系统中有多个 MessageBox 数据库,请将另一个 MessageBoxDB 行添加到列表中,然后为非主数据库设置 IsMaster=“0”。
如果使用 BAM 或规则引擎,请根据需要取消注释这些行。
如果有任何自定义数据库,请在“OtherDatabases>”部分下<添加它们。 请参阅 如何备份自定义数据库。
完成文件编辑后,保存并退出。
后续步骤
另请参阅
如何配置备份 BizTalk Server 作业
如何计划备份 BizTalk Server 作业
如何备份自定义数据库