清单:配置 SQL Server

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

配置 SQL Server

步骤 参考
监视和减少BizTalk Server数据库文件磁盘 I/O 争用。 - 建议主动监视包含数据和事务日志文件的磁盘的磁盘 I/O 使用情况。
- 建议将其中每个数据文件和事务日志文件放在专用驱动器上,以减少磁盘 I/O 争用成为问题的可能性。
- 可以通过将 MessageBox 和跟踪 (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 日志文件磁盘 IO 争用
为SQL Server数据库提供高可用性。 规划数据库可用性
查看故障转移方案的主动/主动SQL Server群集配置。 查看和测试故障转移方案的 SQL Server 群集配置
对以下项使用默认配置设置:

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

注意: 有关 TF1118 的详细信息,请参阅 有关 TF1118 的误解。 请注意,此链接中的内容不属于 Microsoft,Microsoft 不保证内容的准确性。
在BizTalk Server使用的每个SQL Server实例上,将 tempdb 数据库拆分为多个大小相等的数据文件。 确保用于 tempdb 的数据文件大小相等。 这一点至关重要,因为 SQL Server 使用的比例填充算法基于数据文件的大小。 如果创建大小不相等的数据文件,则比例填充算法将使用最大的文件进行全局分配映射 (GAM) 分配,而不是在所有文件之间分散分配,从而破坏创建多个数据文件的目的。 作为一般准则,请为服务器上的每个 CPU 创建一个数据文件,然后根据需要上下调整文件数。 请注意,双核心 CPU 将被视为两个 CPU。 无论如何,无论计算机上有多少其他内核可用,数据文件的数量都不能大于 8。 有关 tempdb 文件的详细信息,请参阅 优化 tempdb 性能
在托管 BizTalk Server 数据库的) (SQL Server 实例上,将“最小”和“最大服务器内存”设置为相同的值。 运行托管BizTalk Server数据库的SQL Server的计算机应专用于运行SQL Server。 当运行SQL Server托管BizTalk Server数据库的计算机专用于运行SQL Server时,我们建议在每个SQL Server实例上设置“最小服务器内存”和“最大服务器内存”选项,以指定要分配给SQL Server的固定内存量。 在这种情况下,应将“最小服务器内存”和“最大服务器内存”设置为相同的值, (等于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 主机密(如群集化主密钥服务器主题中所述),则可能需要调整此值以确保有足够的内存可用于运行企业单一 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 跟踪数据库中清除数据

下一步