BizTalk Server 针对吞吐量进行优化,因此主业务流程和消息引擎实际上不会将事件或消息直接移动到 BizTalk 跟踪(DTA)或业务活动监视(BAM)数据库,因为这会将这些引擎从执行业务流程的主要作业转移出来。 相反,BizTalk Server 将事件和消息保留在 MessageBox 数据库中,并将它们标记为需要移动到 BizTalk 跟踪或 BAM 数据库。 然后,后台进程(跟踪主机)将事件移动到 BizTalk 跟踪和 BAM 数据库,而 SQL Server 代理作业将跟踪的消息复制到 BizTalk 跟踪数据库。
使用专用跟踪主机的优点
负责托管跟踪的 BizTalk 主机负责将 DTA 和 BAM 跟踪数据从 MessageBox 数据库转移到 BizTalk 跟踪(DTA)数据库和 BAM 主导入数据库。 此跟踪数据移动会影响在托管跟踪的同一主机上运行的其他 BizTalk 项目的性能。 专用主机应该只用于主机跟踪。
使用专用的跟踪主机还可以停止其他 BizTalk 主机,而不会干扰到 BizTalk 服务器的跟踪。 将跟踪数据从 MessageBox 数据库中移出对于 BizTalk Server 系统的健康运行至关重要。 如果负责移动 BizTalk 组中跟踪数据的 BizTalk 主机已停止,跟踪数据解码服务将不会运行。 其影响如下:
不会将 HAT 跟踪数据从 MessageBox 数据库移动到 BizTalk 跟踪数据库。
BAM 跟踪数据不会从 MessageBox 数据库移动到 BAM 主导入数据库。
由于数据未移动,因此无法从 MessageBox 数据库删除数据。
当跟踪数据解码服务停止时,跟踪拦截器仍将运行并将跟踪数据写入 MessageBox 数据库。 如果未移动数据,这将导致 MessageBox 数据库膨胀,这会影响随着时间的推移的性能。 即使未跟踪自定义属性或未设置 BAM 配置文件,默认情况下也会跟踪某些数据(例如管道接收/发送事件和业务流程事件)。 如果不想运行跟踪数据解码服务,请关闭所有跟踪,以便没有拦截器将数据保存到数据库。 若要禁用全局跟踪,请参阅 “如何关闭全局跟踪 ”(https://go.microsoft.com/fwlink/?LinkId=154193) 使用 BizTalk Server 管理控制台选择性地禁用跟踪事件。
优化专用跟踪主机的性能
此主机应至少在运行 BizTalk Server 的两台计算机上运行(如果一台失败时需要冗余)。 为了获得最佳性能,每个 MessageBox 数据库应至少有一个跟踪主机实例。 跟踪主机实例的实际数目应为 N + 1,其中 N = MessageBox 数据库数。 “+ 1”用于冗余。 添加更多没有好处,因为只有一个跟踪主机实例可以移动特定 MessageBox 数据库的数据。 因此,锁定不应是问题。 添加了一个额外的跟踪主机实例,用于容错;如果其中一个跟踪主机实例失败,则其他实例将承担失败实例的职责。
跟踪主机实例移动特定 MessageBox 数据库的跟踪数据,但不会有多个跟踪主机实例移动特定 MessageBox 数据库的数据。 例如,如果你有三个 MessageBox 数据库,并且只有两个跟踪主机实例,则其中一个主机实例需要移动两个 MessageBox 数据库的数据。 添加第三个跟踪主机实例会将跟踪主机工作分发给运行 BizTalk Server 的另一台计算机。 在此方案中,添加第四个跟踪主机实例不会再分配任何跟踪主机工作,但会为容错提供额外的跟踪主机实例。
有关 BAM 事件总线服务的详细信息,请参阅 BizTalk Server 帮助中的以下主题:
管理 BAM 事件总线服务 (https://go.microsoft.com/fwlink/?LinkId=154194)
创建 BAM 事件总线服务的实例 (https://go.microsoft.com/fwlink/?LinkId=154195)
配置专用跟踪主机
若要执行本部分中的过程,必须具有以下用户权限才能修改主机属性以允许主机跟踪:
必须是 BizTalk Server 管理员组的成员。
必须在 SQL Server 中具有以下权限:
zh-CN: 您必须是 SQL Server 管理员,或者 BizTalk 跟踪数据库(BizTalk DTADb)、MessageBox 数据库(BizTalkMsgBoxDb)和 BAM 主导入数据库(BAMPrimaryImport)中的 SQL Server 数据库角色 db_owner 或 db_securityadmin 的成员。
必须是安装有 MessageBox 数据库的所有计算机上的 sysadmin SQL Server 角色的成员,或者是所有 MessageBox 数据库的 db_owner 或 db_ddladmin SQL Server 角色的成员。
启用主机跟踪
依次单击“ 开始”、“ 程序”、“ MicrosoftBizTalk Server”,然后单击 “BizTalk Server 管理”。
在控制台树中,展开 BizTalk Server管理,展开 BizTalk 组,单击 “平台设置”,然后单击“ 主机”。
在详细信息窗格中,右键单击要修改的主机,然后单击“ 属性”。
在“ 主机属性 ”对话框中的“ 常规 ”选项卡上,选择或清除 “选项 - 允许主机跟踪”,然后单击“ 确定”。
选中此复选框可指示主机加载 BizTalk 跟踪组件以处理运行状况监视和业务数据。 如果选中此复选框,则当前主机将对 MessageBox 数据库中的跟踪表以及跟踪数据库具有读/写访问权限。 因此,此主机中运行的任何对象也将对这些数据库具有读/写访问权限。
如果清除该复选框,主机将仅对 MessageBox 数据库中的跟踪表具有写入访问权限,并且无权访问跟踪数据库。