大多数 K2 blackpearl 运行时操作都需要 Microsoft 分布式事务处理协调器 (MSDTC) 支持,以确保操作事务性一致。如果没有 MSDTC 事务支持,则相关联的 K2 blackpearl运行时操作将无法进行。
通过网络实现的 MSDTC 功能取决于通过网络实现的 RPC 功能。通过防火墙使用 RPC 功能需要打开特定的端口,以满足 RPC 动态端口的分配要求。如果在 K2 blackpearl 和远程服务器之间有防火墙,请按照如何配置与防火墙一起使用的 RPC 动态端口分配中的步骤满足 RPC 动态端口的分配要求。
Windows Server 2003 SP1、Windows XP SP2、Windows Server 2008 和 Windows Vista 提供的安全增强功能可以控制如何通过网络访问 MSDTC。通过修改 MSDTC 安全设置,可以控制 MSDTC 如何通过网络与远程计算机通信。下表列出了配置 MSDTC 安全设置时可用的选项的建议值:
配置选项 | 默认值 | 建议值 |
---|---|---|
网络 DTC 访问 |
已禁用 |
已启用 |
客户端和管理 |
||
允许远程客户端 |
已禁用 |
已禁用 |
允许远程管理 |
已禁用 |
已禁用 |
事务管理器通信 |
||
允许入站 |
已禁用 |
已启用 |
允许出站 |
已禁用 |
已启用 |
要求相互身份验证 |
已启用 |
如果所有远程计算机均运行 Windows Server 2003 SP1 或 Windows XP SP2 或更高版本,并且均配置为“要求对双方进行验证”,则为“已启用”。 |
要求对呼叫方进行验证 |
已禁用 |
如果在群集上运行 MSDTC,则为“已启用”。 |
不要求进行验证 |
已禁用 |
如果远程计算机为 Windows Server 2003 SP1 之前或 Windows XP SP2 之前的版本,则为“已启用”。 |
启用 TIP |
已禁用 |
如果运行 BAM 门户,则为“已启用”。 |
启用 XA 事务 |
已禁用 |
如果与基于 XA 的事务系统进行通信(例如,使用 MQSeries 适配器与 IBM WebSphere MQ 通信),则为“已启用”。 |
应用这些更改后,MSDTC 服务将重新启动。
注意 |
---|
根据所做的更改,可能需要重新启动计算机以使更改生效。如果在应用更改并重新启动 MSDTC 服务后仍然遇到问题,请重新启动在其中进行了更改的计算机,以确保更改生效。 |
如果启用了“要求相互身份验证”或“要求对呼叫方进行验证”配置选项,则必须为客户端计算机帐户授予“从网络访问此计算机”用户权限。如果没有为客户端计算机的计算机帐户授予“从网络访问此计算机”用户权限,或者该帐户包括在“拒绝从网络访问这台计算机”用户权限中,则该客户端与服务器计算机之间的 DTC 通信将失败。
默认设置为向 Everyone 组授予“从网络访问此计算机”用户权限。因此,除非修改了默认设置,否则无需更改此用户权限。如果启用了“不要求进行验证”配置选项,则“从网络访问此计算机”用户权限不会应用于客户端计算机帐户。
如果在两台计算机中的一台上安装了 SQL Server,则可以使用 DTCTester 实用程序检查这两台计算机之间是否支持事务处理。DTCTester 实用程序使用 ODBC 检查 SQL Server 数据库是否支持事务处理。有关 DTCTester 的详细信息,请参阅如何使用 DTCTester 工具。
如果两台计算机中都没有安装 SQL Server,则可以使用 DTCPing 检查这两台计算机之间是否支持事务处理。DTCPing 是在两台计算机中都没有安装 SQL Server 的情况下替代 DTCTester 实用程序的良好工具,使用时必须既在客户端计算机上运行,也在服务器计算机上运行。有关 DTCPing 的详细信息,请参阅如何解决 MS DTC 防火墙问题。
确保给操作系统分配唯一的安全标识符 (SID)
运行 Windows 操作系统的计算机使用安全标识符(即 SID)来标识自身。MSDTC 功能要求给主机操作系统分配一个唯一的 SID。Windows 系统的磁盘重复映像必须使用系统准备工具 (Sysprep) 进行配置,否则部署的操作系统的 SID 可能不是唯一的,并且可能会影响 MSDTC 功能。在使用虚拟硬盘将一个操作系统部署到虚拟机上时,可能会发生这种情况。
如果计划通过复制和分发虚拟硬盘来部署 Windows,那么必须事先用 Sysprep 对所使用的虚拟硬盘中包含的 Windows 版本进行部署准备。