数据库的高可用性
BizTalk Server严重依赖于数据存储和数据持久性SQL Server。 在将完全不同的业务应用程序(例如,接收、处理或路由消息)相集成的过程中,BizTalk Server 中的其他所有组件和主机都具有特定的角色,只有数据库计算机会捕获此工作并将其保存到磁盘。 例如,当BizTalk Server收到传入消息时,接收主机会先将其保存到 MessageBox 数据库,然后其他主机再检索消息进行业务流程处理和发送。 如果 BizTalk 解决方案涉及业务流程,BizTalk Server将消息路由到执行业务流程的主机 (处理主机) ,并在业务流程完成后将消息保存到 MessageBox 数据库。 随后,发送主机将从该数据库中检索消息,再通过相应的发送适配器将该消息发送到外部应用程序。
若要为BizTalk Server数据库提供高可用性,请使用 Windows 群集配置两台或更多台运行SQL Server的计算机来创建服务器群集。 此服务器聚类分析为BizTalk Server数据库提供冗余和容错。 与负载平衡群集(其中一组计算机共同作用以提高可用性和可伸缩性)不同,服务器群集通常只包含两台采用主动/被动配置的数据库计算机,以便其中一台计算机可为另一台计算机提供备份资源。
下图显示了通过主动/被动服务器群集确保其高度可用的 BizTalk Server 数据库层。
如果主动数据库计算机遇到错误或失败,则被动计算机将变为主动并承担对数据库资源的控制,直至修复该出错的计算机。 数据库服务故障转移并还原到新的活动计算机的数据连接,并使 BizTalk 应用程序能够继续正常运行。
BizTalk Server 数据库
Microsoft BizTalk Server 在 SQL Server 中安装了若干数据库。 下表显示了BizTalk Server数据库的典型使用特征。
数据库 | 默认数据库名称 | 使用特征 |
---|---|---|
管理数据库 | BizTalkMgmtDb | 此数据库处理低使用率读取和写入操作。 |
MessageBox 数据库 | BizTalkMsgBoxDb | 此数据库处理高使用率的读取和写入操作。 |
跟踪数据库 | BizTalkDTADb | 此数据库根据配置为跟踪的数据量和低使用率读取操作来处理潜在的高使用率写入操作。 |
SSO 数据库 | SSODB | 此数据库处理低使用率读取和写入操作。 |
BAM 分析数据库 | BAMAnalysis | 此SQL Server Analysis Services数据库根据执行的监视级别处理可能使用率较高的读取和写入操作。 |
BAM 星型架构数据库 | BAMStarSchema | 此SQL Server Analysis Services数据库根据执行的监视级别处理可能使用率较高的读取和写入操作。 |
BAM 主导入数据库 | BAMPrimaryImport | 此SQL Server Analysis Services数据库根据执行的监视级别处理可能使用率较高的读取和写入操作。 |
BAM 存档数据库 | BAMArchive | 此SQL Server Analysis Services数据库根据执行的监视级别处理可能使用率较高的读取和写入操作。 |
规则引擎数据库 | BizTalkRuleEngineDb | 除非更新规则,否则此数据库将处理可能使用率较低的读取和写入操作。 |
跟踪 Analysis Services 数据库 | BizTalkAnalysisDb | 此SQL Server Analysis Services数据库处理高使用率的读取和写入操作。 |
BizTalk Server运行时操作通常使用前四个数据库, (管理数据库、MessageBox 数据库、跟踪数据库和 SSO 数据库) 。 根据这些数据库的流量,你可以将它们放在运行SQL Server的单独计算机上。 根据您使用的 BizTalk Server 功能的不同,此表中可能包含其他某些或所有数据库。 可以根据需要横向扩展和群集这些数据库。
请确保遵循良好的SQL Server部署做法,例如为每个数据库使用单独的磁盘。
对于BizTalk Server数据库,建议执行以下操作:
设置故障转移聚类分析。 故障转移聚类分析使SQL Server能够自动将SQL Server实例的处理从故障服务器切换到工作服务器。
BAM 主导入数据库收集事件数据。 在系统发生灾难时,自上次备份后写入 BAM 主导入数据库的数据将会丢失。 由于无法重新生成丢失的事件,因此在 BAM 主导入数据库上启用故障转移聚类分析尤其重要。
使用 SQL Server RAID 1+0 (独立磁盘) 冗余阵列,尤其是对于 MessageBox 数据库和 BAM 主导入数据库。
有关备份BizTalk Server数据库的信息,请参阅灾难恢复的最佳做法。
注意
Microsoft SQL Server提供了一种称为数据库镜像的软件解决方案,用于提高数据库可用的可能性。 目前不支持使用SQL Server数据库镜像来确保 Microsoft BizTalk Server 数据库的高可用性,因为维护BizTalk Server数据库中事务一致性时可能存在问题。
有关 SQL Server 中的数据库镜像和跨数据库事务的详细信息,请参阅事务 - 可用性组和数据库镜像。 BizTalk Server数据库应安装在SQL Server群集上,以确保高可用性和日志传送应用于灾难恢复目的。
有关日志传送的详细信息,请参阅什么是日志传送BizTalk Server?