配置 SQL Server 的清单

准备 SQL Server 以便在 BizTalk Server 生产环境中使用时要遵循的步骤。

配置 SQL Server

步骤 参考文献
监控和减少 BizTalk Server 数据库文件磁盘 I/O 竞争。 - 建议主动监视存储数据和事务日志文件的磁盘的磁盘 I/O 使用情况。
- 建议将其中每个数据文件和事务日志文件放在专用驱动器上,以减少磁盘 I/O 争用成为问题的可能性。
- 可以通过分离 MessageBox 和 Tracking (DTA) 数据库,以及分离不同物理磁盘上的数据库文件和事务日志文件来减少磁盘 I/O 争用。

有关详细信息,请参阅 监控和减少数据库 IO 竞争
确保在正确对齐的磁盘分区上配置 SQL Server 正确对齐的磁盘分区可能会导致延迟显著减少,从而改善 SQL Server 性能,进而增强 BizTalk Server 性能。 相反,非对齐磁盘分区可能会对 I/O 性能产生负面影响,从而降低 SQL Server 和 BizTalk Server 的性能。

有关正确对齐磁盘分区如何影响性能的详细信息,请参阅 SQL Server 的磁盘分区对齐最佳做法
使用 SQL Server Profiler 记录您监视的事件 使用 SQL Server Profiler 只监视感兴趣的事件。 如果跟踪太大,则可以根据所需的信息筛选它们,以便只收集事件数据的子集。 监视过多事件会增加服务器和监视进程的开销,并且可能导致跟踪文件或跟踪表变得很大,尤其是当监视进程持续很长时间时。
监视和减少 DTC 日志文件磁盘 I/O 争用。 监控和减少 DTC 日志文件磁盘输入输出争用
为 SQL Server 数据库提供高可用性。 规划数据库可用性
查看活动/主动 SQL Server 群集配置,了解故障转移方案。 审核和测试用于故障转移场景的 SQL Server 服务器群集配置
对以下项使用默认配置设置:

- 最大并行度(MDOP)。
- BizTalk Server MessageBox 数据库上的 SQL Server 统计信息。
- SQL Server 数据库索引重新生成和碎片整理。
不应更改的 SQL Server 设置
为所有 SQL Server 实例启用跟踪标志 1118 (TF1118) 作为启动参数。 实现 TF1118 有助于通过删除几乎所有单页分配来减少 SQL Server 实例之间的争用。 有关详细信息,请参阅Microsoft知识库文章《tempdb数据库并发增强》。

注意: 有关 TF1118 的详细信息,请参阅 有关 TF1118 的误解。 请注意,此链接中的内容不受Microsoft所有,Microsoft不能保证内容的准确性。
将 tempdb 数据库拆分为 BizTalk Server 使用的每个 SQL Server 实例上大小相等的多个数据文件。 确保用于 tempdb 的数据文件大小相等。 这一点至关重要,因为 SQL Server 使用的比例填充算法基于数据文件的大小。 如果数据文件的大小不相等,则比例填充算法将使用最大的文件用于全局分配映射(GAM)分配,而不是分散所有文件之间的分配,从而破坏创建多个数据文件的目的。 作为一般准则,为服务器上的每个 CPU 创建一个数据文件,然后根据需要调整文件数。 请注意,双核 CPU 被视为两个 CPU。 无论如何,无论计算机上提供了多少个其他内核,数据文件的数量都不得大于 8。 有关 tempdb 文件的详细信息,请参阅 优化 tempdb 性能
将最小和最大服务器内存设置为托管 BizTalk Server 数据库的 SQL Server 实例上的相同值。 运行托管 BizTalk Server 数据库的 SQL Server 的计算机应专用于运行 SQL Server。 当运行托管 BizTalk Server 数据库的 SQL Server 的计算机专用于运行 SQL Server 时,建议将每个 SQL Server 实例上的“最小服务器内存”和“最大服务器内存”选项设置为指定要分配给 SQL Server 的固定内存量。 在这种情况下,应将“min server memory”和“max server memory”设置为相同的值(等于 SQL Server 将使用的最大物理内存量)。 这将减少本来会用于 SQL Server 动态管理这些值的开销。 在运行 SQL Server 的每台计算机上执行以下 T-SQL 命令,以指定要分配给 SQL Server 的固定内存量:

sp_configure '最大服务器内存 (MB)', (最大大小(MB)) sp_configure '最小服务器内存 (MB)', (最小大小(MB))

在为 SQL Server 设置内存量之前,请通过从总物理内存中减去 Windows Server 所需的内存来确定适当的内存设置。 这是可以分配给 SQL Server 的最大内存量。 注意: 如果运行托管 BizTalk Server 数据库的 SQL Server 的计算机也托管企业单一 Sign-On 主机密,如主题 群集主机密服务器 中所述,则可能需要调整此值以确保有足够的内存可用于运行 Enterprise Single Sign-On 服务。
考虑 BizTalk 跟踪数据库的大小 - 确定 BizTalk 跟踪(DTA)数据库中消息的大小时,如果消息上下文的平均大小相较于消息本身的大小显著,则将其添加到消息大小中。
- 若要限制 BizTalk 跟踪数据库中的消息大小,请限制升级的属性数。
- 如果启用了业务流程调试器选项,请考虑到业务流程中每个形状的状态保存在 BizTalk 跟踪数据库中。

执行 SQL Server 维护过程

步骤 参考文献
定义 BizTalk Server 数据库的自动增长设置。 - 数据库自动增长应设置为固定的兆字节数,而不是百分比,尤其是 MessageBox 和跟踪数据库。 根据 BizTalk Server 应用程序和吞吐量,MessageBox 和跟踪数据库可能会变得非常大。 如果自动增长设置为百分比,则自动增长可能会非常显著。
- 即时文件初始化可以大大减少文件增长作的性能影响。
- 理想情况下,应预先分配支持文件组的文件大小,并尽可能设置为静态大小。

有关详细信息,请参阅 为数据库定义自动增长设置
备份 BizTalk Server 数据库 - 建议运行 BizTalk Server 备份作业,以防止 BizTalk Server 数据库事务日志以不受限制的方式增长。
- 应定期还原整个 BizTalk Server 环境,并仔细记录该过程。
- 建议存档旧的备份文件。

有关详细信息,请参阅 备份数据库
监视 BizTalk Server SQL 代理作业。 监视这些作业的运行状况,并确保这些作业在运行时不会出现错误。 有关详细信息,请参阅 监视 SQL Server 代理作业
启用 BizTalk Server 跟踪和存档 “DTA 清除和存档”SQL 代理作业会对 BizTalk 跟踪数据库中的旧数据进行存档和清除,从而防止其无限增长失控。 这对于正常的 BizTalk Server 系统至关重要。 有关详细信息,请参阅 清除和存档跟踪数据

备份 BizTalk Server 数据库

步骤 参考文献
验证是否已配置备份 BizTalk Server SQL 代理作业。 请参阅 配置备份 BizTalk Server 任务
配置备份 BizTalk Server SQL 代理作业以删除早于变量指定的天数的 @DaysToKeep 备份文件。 如果未删除备份文件,则随着时间推移,这些备份文件可能会无限增长,从而填满包含备份文件的磁盘,并导致与有限磁盘空间相关的问题。 请参阅 配置备份 BizTalk Server 作业
验证备份 BizTalk Server SQL 代理作业是否已启用并运行。 监视 SQL Server 代理作业

使用 SQL Server 日志传送进行灾难恢复

步骤 参考文献
验证灾难恢复服务器是否具有处理生产负载的容量。 请参阅 使用 BizTalk Server 日志传送进行灾难恢复
确保记录了灾难恢复例程的具体内容。 请参阅 使用 BizTalk Server 日志传送进行灾难恢复
作为常规测试的一部分,积极进行故障转移演练到灾难恢复站点,尤其是在新的 BizTalk 应用程序部署上线时。 请参阅 使用 BizTalk Server 日志传送进行灾难恢复

监视 BizTalk Server SQL 代理作业

步骤 参考文献
验证 SQL Server 代理服务是否正在运行。 请参阅 监视 SQL Server 代理作业
验证 BizTalk Server 安装的 SQL Server 代理作业是否已启用并成功运行。 请参阅 监控 SQL Server 代理作业
验证 BizTalk Server SQL 代理作业是否及时完成。 请参阅 监控 SQL Server 代理作业

清除和存档跟踪数据

步骤 参考文献
确保 SQL 代理作业“DTA 清除和存档”已正确配置、启用并成功完成。 请参阅 配置 DTA 清除和存档作业
确保作业能够以与生成传入跟踪数据相同的速度清除跟踪数据。 请参阅 衡量最大可持续跟踪吞吐量
查看软清除和硬清除参数,以确保以最佳时间长度保留数据。 请参阅 存档和清除 BizTalk 跟踪数据库
如果只需要清除旧数据,并且不需要先存档它,请更改 SQL 代理作业以调用存储过程“dtasp_PurgeTrackingDatabase”。 请参阅 清除 BizTalk 跟踪数据库中的数据

下一个