你目前正处于脱机状态,正在等待 Internet 重新连接

在 Windows 中的分布式事务处理协调器服务的新功能

针对 Windows Server 2003 的支持已于 2015 年 7 月 14 日终止。

Microsoft 已于 2015 年 7 月 14 日终止了对于 Windows Server 2003 的支持。该更改已影响到您的软件更新和安全选项。 了解这一措施对于您的含义以及如何继续保持受保护状态。

重要说明:本文是由 Microsoft 机器翻译软件进行的翻译并可能由 Microsoft 社区通过社区翻译机构(CTF)技术进行后期编辑,或可能是由人工进行的翻译。Microsoft 同时向您提供机器翻译、人工翻译及社区后期编辑的文章,以便对我们知识库中的所有文章以多种语言提供访问。翻译的文章可能存在词汇、句法和/或语法方面的错误。Microsoft 对由于内容的误译或客户对内容的使用所导致的任何不准确、错误或损失不承担责任。

点击这里察看该文章的英文版: 899191
概要
由于 Windows 2003 Service Pack 1 (SP1),Windows XP Service Pack 2 (SP2),一些与安全相关的更新和更改引入到 Windows,并且影响 Microsoft 分布式事务处理协调器 (MSDTC) 服务。

这些更改可以通过使用组件服务管理工具中提供的更新的安全配置对话框中访问。

对导致故障转移网络的分布式事务处理协调器通信的默认安全设置进行这些更改。在此情况下,您可能会收到一个或多个错误消息或错误代码。

通过修改安全配置对话框中的设置,可以帮助的控制分布式事务处理协调器服务通过网络与远程计算机进行通信的方式。
简介
本文介绍了 Microsoft 分布式事务处理协调器 (MSDTC) 服务在下列操作系统中的新功能:
  • Microsoft Windows Server 2003 Service Pack 1 (SP1)
  • Microsoft Windows XP 服务包 2 (SP2)
  • Windows Vista
  • Windows Server 2008
  • Windows 7
  • Windows Server 2008 R2
  • Windows 8
  • Windows Server 2012
  • Windows 8.1
  • Windows Server 2012 R2
分布式事务处理协调器服务协调更新两个或多个受事务保护的资源的事务。受事务保护的资源包括数据库、 消息队列和文件系统。这些受事务保护的资源可能位于一台计算机上也可能分布于多个联网的计算机之间。
更多信息
在 Windows 中,分布式事务处理协调器服务可以更好地控制计算机之间的网络通信。默认情况下,禁用所有网络通信。分布式事务处理协调器安全配置对话框中已得到增强,以便您可以管理这些通信设置。若要查看安全配置对话框中,执行以下步骤:
  1. 启动组件服务管理工具。到 dothis,单击开始,单击运行键入dcomcnfg.exe然后单击确定
  2. 在组件服务工具的控制台树中,展开组件服务,展开计算机,右键单击我的电脑,然后单击属性
  3. MSDTC选项卡上,单击,然后单击安全配置

在"安全性配置"对话框中可用的新选项

以下信息描述新安全配置对话框中的可用选项。此信息还介绍了新安全配置对话框中的选项不会影响的注册表项。

"网络 DTC 访问"复选框

网络 DTC 访问复选框,可以确定分布式事务处理协调器服务是否可以访问网络。与网络 DTC 访问复选框下面的其他复选框之一必须选择网络 DTC 访问复选框以启用网络分布式事务处理协调器事务处理。

网络 DTC 访问复选框影响以下注册表项:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSDTC\Security


值的名称: NetworkDtcAccess
值类型: REG_DWORD
值数据: 0 (默认值)
注意:在服务器群集中,网络 DTC 访问复选框影响 MSDTC 资源注册表项下的共享的群集注册表项中的值。MSDTC 共享群集注册表项位于以下位置:
HKEY_LOCAL_MACHINE\Cluster\Resources\<MSDTC resource GUID>
默认情况下,NetworkDtcAccess 注册表项的值设置为 0。值为 0 将关闭 NetworkDtcAccess 注册表项。若要启用 NetworkDtcAccess 注册表项,请此注册表值设置为 1。

"允许入站"复选框

允许入站复选框,可以确定是否允许来自远程计算机的本地计算机上运行的分布式的事务。默认情况下,此设置被关闭。要启用此设置,请单击选中网络 DTC 访问复选框,将下面的注册表项设置为 1:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSDTC\Security


值的名称: NetworkDtcAccess
值类型: REG_DWORD
要禁用此设置,请单击以清除网络 DTC 访问复选框,以将此注册表项设置为 0。

允许入站复选框影响两个以下注册表项:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSDTC\Security


值的名称: NetworkDtcAccessTransactions
值类型: REG_DWORD

值的名称: NetworkDtcAccessInbound
值类型: REG_DWORD

"允许出站"复选框

允许出站复选框,可以确定是否允许本地计算机启动事务并在远程计算机上运行该事务。要启用此设置,请单击选中网络 DTC 访问复选框,将下面的注册表项设置为 1:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSDTC\Security


值的名称: NetworkDtcAccess
值类型: REG_DWORD
要禁用此设置,请单击以清除网络 DTC 访问复选框,以将此注册表项设置为 0。

允许出站复选框影响两个以下注册表项:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSDTC\Security


值的名称: NetworkDtcAccessTransactions
值类型: REG_DWORD

值的名称: NetworkDtcAccessOutbound
值类型: REG_DWORD

"需要相互身份验证"选项

需要相互身份验证窗口中添加支持相互身份验证。需要相互身份验证设置为当前可用于网络通信的最大安全模式。我们建议为客户端计算机与服务器计算机正在运行 Windows Server 2003 SP1 的运行 Windows XP SP2 此事务处理模式。

相互身份验证要求影响以下注册表项:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSDTC


值的名称: AllowOnlySecureRpcCalls
值类型: REG_DWORD
值数据: 1

值的名称: FallbackToUnsecureRPCIfNecessary
值类型: REG_DWORD
值数据: 0

值的名称: TurnOffRpcSecurity
值类型: REG_DWORD
值数据: 0
注意:设置使用相互身份验证所需的功能不同于通过身份验证要求对呼叫方设置的功能。事务管理器通信在下列三个选项按如下方式运行:
  • 要求对双方进行验证事务处理模式需要远程访问的组件,以提供与本地计算机的 anauthenticated 连接。通过在本地计算机上的模拟此身份验证 isverified。另外,如果两种分布的 TransactionCoordinator 服务之间执行的远程访问通信,则该验证信息必须指定 computeraccount 远程事务模式计算机的主机名相匹配。
  • 身份验证要求对呼叫方事务处理模式只需要对远程连接进行身份验证。此外,如果远程访问的组件是一种分布式的 TransactionCoordinator 服务,将身份验证信息必须为 computeraccount。
  • 不要求进行验证事务处理模式不验证经过身份验证的连接,或建立 verifywhether 身份验证的连接。
在群集环境中,分布式事务处理协调器服务的计算机帐户指定群集节点的主机名。在群集环境中,分布式事务处理协调器身份验证不使用事务处理模式的主机名。在群集环境中,事务处理模式的主机名是虚拟服务的名称。因此,您无法在群集环境中,或在任何正在协商交易记录与该计算机的计算机上使用要求对双方进行验证事务处理模式。您可以使用要求对双方进行验证事务处理模式之间两个非聚集的计算机正在运行 Windows Server 2003 SP1 或正在运行 Windows XP SP2 的两台计算机之间。

您必须使用在群集环境中基于 Windows Server 2003 的计算机之间要求接收方进行验证事务处理模式。

一个或多个以下情况属实,则必须使用不要求进行验证事务处理模式:
  • 网络访问在运行 Microsoft Windows 2000 的计算机之间。
  • 不要不 havea 配置相互信任的两个域之间是网络访问。
  • 网络访问是研发工作组成员的计算机之间。

"要求对呼叫方进行验证"选项

身份验证要求对呼叫方要求本地分布式事务处理协调器服务与远程分布式事务处理协调器服务通过使用加密的消息进行通信。只对传入连接进行身份验证。Windows Server 2003 SP1,Windows XP SP2 和更高版本的 Windows 支持此功能。如果在运行 Windows Server 2003 SP1,Windows XP SP2 或更高版本的 Windows 的计算机上运行远程分布式事务处理协调器服务因此,只有启用此选项。

身份验证要求对呼叫方影响以下注册表项:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSDTC


值的名称: AllowOnlySecureRpcCalls
值类型: REG_DWORD
值数据: 0

值的名称: FallbackToUnsecureRPCIfNecessary
值类型: REG_DWORD
值数据: 1

值的名称: TurnOffRpcSecurity
值类型: REG_DWORD
值数据: 0
有关传入呼叫方身份验证所需的详细信息,请参阅"要求对双方进行验证选项"部分。

"不要求进行验证"选项

不要求进行验证使操作系统的 Windows 操作系统的早期版本之间的兼容性。启用此选项时,分布式事务处理协调器服务之间的网络通信可以回退到验证通信或未加密的通信如果不能建立安全通信通道。

注意:我们建议使用此设置,如果远程分布式事务处理协调器服务正在运行 Microsoft Windows 2000 的计算机上或正在运行的版本 Windows XP 的计算机上运行早于 Windows XP SP2。

此外可以使用不要求进行验证应对,在没有建立信任关系的域中的计算机运行分布式事务处理协调器服务的情况。此外,您可以使用不要求进行验证应对其中的工作组成员的计算机运行分布式事务处理协调器服务的情况。

不要求进行验证,则会影响以下注册表项:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSDTC


值的名称: AllowOnlySecureRpcCalls
值类型: REG_DWORD
值数据: 0

值的名称: FallbackToUnsecureRPCIfNecessary
值类型: REG_DWORD
值数据: 0

值的名称: TurnOffRpcSecurity
值类型: REG_DWORD
值数据: 1
注意:在服务器群集中,这些注册表项位于共享的群集注册表中。

在"安全性配置"对话框中可用的新选项的重要性

安全配置对话框中的可用选项使您可以将安全性设置应用到传出或传入网络通信。默认情况下,在安装 Windows 之后计算机不接受网络通信。因此,计算机是不易被恶意的用户通过网络访问。此外,通过网络发送的协议将更新以支持更安全地加密且相互验证的通信模式。这有助于减少恶意用户无法拦截和控制分布式事务处理协调器服务之间的通信的机会。

在 Windows 中的网络通信更改

从分布式事务处理协调器服务或进入到分布式事务处理协调器服务的 ll 网络通信被禁用。例如,如果 COM + 对象尝试更新 Microsoft SQL Server 数据库位于远程计算机上通过使用分布式事务处理协调器事务,该事务不成功。相反,如果计算机承载远程计算机中的组件尝试使用分布式事务处理协调器事务访问 SQL Server 数据库,此交易不成功。

与分布式事务处理协调器服务相关的问题

由于网络连接问题导致事务失败

重要:此部分、 方法或任务包含一些介绍如何修改注册表的步骤。但是,如果不正确地修改了注册表,可能会出现严重的问题。因此,请确保仔细按照下列步骤操作。为增加保护,对其进行修改之前备份注册表。然后,您可以在出现问题时还原注册表。有关如何备份和还原注册表的详细信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
322756 如何在 Windows 中备份和还原注册表


如果分布式事务处理协调器事务失败,因为网络连接问题,请单击安全配置对话框中选择以下复选框:
  • 单击以选中网络 DTC 访问复选框。
  • 单击以选中一个或两个事务管理器通信下具体取决于解决方案的下列复选框:
    • 允许入站
    • 允许出站
如果您希望以编程方式更改这些设置,Windows 的一部分,您可以直接修改注册表设置对应于您要设置的设置。修改注册表设置后,必须重新启动分布式事务处理协调器服务。

重要:我们建议不要手动修改注册表来更改这些设置。如果您手动修改这些注册表设置,您可能会遇到问题上基于 Windows Server 2003 SP1 的服务器群集的群集服务。

Windows 防火墙阻止分布式事务处理协调器通信

重要:这些步骤可能会增加安全风险。这些步骤还可在计算机或网络更易于受到恶意用户或恶意软件 (如病毒) 的攻击。我们之所以推荐本文介绍以使程序能够按照他们的设计意图运行,或者为了实现特定的程序功能过程。在进行这些更改之前,我们建议您对与在您的特定环境中实施此过程相关联的风险评估。如果您决定实施此过程,请采取任何适当的附加措施来帮助保护系统。我们建议只有确实需要这一过程才使用此过程。

如果您使用 Windows 防火墙,则必须将分布式事务处理协调器服务添加到 Windows 防火墙设置中的例外列表。若要执行此操作,请按照下列步骤操作:
  1. 单击开始,单击运行,类型 firewall.cpl然后单击确定
  2. Windows 防火墙对话框,请单击例外选项卡,然后单击AddProgram
  3. 单击浏览,找到,然后单击C:\Windows\System32\msdtc.exe,,然后单击打开
  4. 单击确定,单击以选择msdtc.exe复选框中的程序 andServices列表,如果尚未选中此复选框,并单击确定

设置已被更改或添加

下表描述了 Windows XP SP2 之后更改早期版本的 Windows 中的注册表项。
项名称位置以前的默认值Windows XP SP2 默认值可能的值
NetworkDtcAccess HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSDTC\Security 100 或 1
NetworkDtcAccessTransactions HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSDTC\Security 100 或 1
NetworkDtcAccessInboundHKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSDTC\Security 不适用00 或 1
NetworkDtcAccessOutboundHKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSDTC\Security 不适用00 或 1
AllowOnlySecureRpcCallsHKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSDTC 不适用10 或 1
FallbackToUnsecureRPCIfNecessaryHKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSDTC 不适用00 或 1
TurnOffRpcSecurityHKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSDTC 不适用00 或 1
注意:这些更改将显示在基于 Windows Server 2003 SP1 服务器群集上的共享的群集注册表中。

与分布式事务处理协调器服务更改相关联的错误代码

当计算机之间运行分布式事务处理协调器事务,ou 可能会收到下列错误代码之一:

错误代码 1
//// MessageId: XACT_E_NETWORK_TX_DISABLED//// MessageText://// The transaction manager has disabled its support for remote/network transactions.//#define XACT_E_NETWORK_TX_DISABLED       _HRESULT_TYPEDEF_(0x8004D024L)
错误代码 2
//// MessageId: XACT_E_PARTNER_NETWORK_TX_DISABLED//// MessageText://// The partner transaction manager has disabled its support for remote/network transactions.//#define XACT_E_PARTNER_NETWORK_TX_DISABLED _HRESULT_TYPEDEF_(0x8004D025L)
DTC COM complus

警告:本文已自动翻译

属性

文章 ID:899191 - 上次审阅时间:01/10/2016 04:54:00 - 修订版本: 2.0

Windows Server 2012 R2 Datacenter, Windows Server 2012 R2 Essentials, Windows Server 2012 R2 Foundation, Windows Server 2012 R2 Standard, Windows 8.1, Windows 8.1 Pro, Windows 8.1 Enterprise, Windows Server 2012 Datacenter, Windows Server 2012 Essentials, Windows Server 2012 Foundation, Windows Server 2012 Standard, Windows 8, Windows 8 Pro, Windows 8 Enterprise, Windows 7 Enterprise, Windows 7 Home Basic, Windows 7 Home Premium, Windows 7 Professional, Windows 7 Starter, Windows 7 Ultimate, Windows Server 2008 R2 Datacenter, Windows Server 2008 R2 Enterprise, Windows Server 2008 R2 for Itanium-Based Systems, Windows Server 2008 R2 Foundation, Windows Server 2008 R2 Standard, Windows Vista Business, Windows Vista Enterprise, Windows Vista Home Basic, Windows Vista Home Premium, Windows Vista Ultimate, Windows Server 2008 Datacenter, Windows Server 2008 Enterprise, Windows Server 2008 for Itanium-Based Systems, Windows Server 2008 Foundation, Microsoft Windows Server 2003 Service Pack 1

  • kbinfo kbexpertiseadvanced kbsurveynew kbmt KB899191 KbMtzh
反馈