您的位置:首页 > 数据库

在 SQLOLEDB 中对链接服务器运行分布式事务安装 Windows XP Service Pack 2 或 Windows XP Tablet PC Edition

2007-06-27 19:29 786 查看

察看本文应用于的产品

注意:这篇文章是由无人工介入的自动的机器翻译系统翻译完成。这些文章是微软为不懂英语的用户提供的, 以使他们能够理解这些文章的内容。微软不保证机器翻译的正确度,也不对由于内容的误译或者客户对它的使用所引起的任何直接的, 或间接的可能的问题负责。

文章编号:873160
最后修改:2005年7月8日
修订:3.1
要点 此文章包含有关修改注册表。 修改注册表, 之前一定要备份并确保您了解如何在出现问题时还原注册表。 For information about how to back up, restore, and change the registry, click the following article number to view the article in the Microsoft Knowledge Base:
256986 (http://support.microsoft.com/kb/256986/) 对 MicrosoftWindows 注册表说明

症状

当运行分布式事务对 ANSI,并在从 SQL Server, 您可能收到错误消息, 它类似于以下:

服务器: 消息 7391, 级别 16, 状态 1, 行 1
因为 OLEDB 提供程序'SQLOLEDB'无法启动分布式事务无法执行操作。
[: 无法指定事务协调中登记新事务 / OLE DB 提供程序返回消息 ]
[ / OLE DB 提供程序'SQLOLEDB'ITransactionJoin::JoinTransaction 返回 0x8004d00a ] OLEDB 错误跟踪。

下列条件之一为真时可能会出现此问题:
启动分布式事务计算机上安装 Microsoft Windows XP Service Pack 2 (SP 2) 或 Microsoft Windows XP Tablet PC Edition 2005。
Microsoft Windows XP SP2 is installed on the remote computer that is running Microsoft SQL Server 2000, and that computer is linked to the computer that initiates the distributed transaction.
注意 : WindowsXP SP 2 功能和组件包含在 Windows XP Tablet PC Edition 2005 中。


回到顶端


原因

的一个或多个下列原因发生此问题:
对于网络事务禁用 Microsoft 分布式事务处理协调器 (MSDTC)。
计算机上启用 Windows 防火墙。 默认情况下, Windows 防火墙阻止 MSDTC 程序。

注意 即使当关闭 Windows 防火墙可能出现此问题。


回到顶端


替代方法

警告 如果注册表编辑器使用不当, 可能会严重问题, 可能需要以重新安装操作系统。 Microsoft 无法保证您能解决因注册表编辑器使用不当而导致问题。 使用注册表编辑器在解决此问题, 自己 risk.To 工作在与 Windows XP SP 2 上安装计算机上执行这些步骤:
1.确保 MSDTC 服务帐户 登录为 " 是 NetworkService 帐户。 要这样做, 请按照下列步骤操作:
a. 开始 , 依次 运行 。
b. 在 运行 对话框中, 键入 Services.msc , 然后单击 确定 。
c. 在 服务 窗口, 找到 DistributedTransactionCoordinator 服务 " 名称 " 窗格中。
d. 列, 登录为 " 下是否 登录为 " 帐户为 NetworkService 或 本地系统 。

如果 登录为 " 帐户是 NetworkService , 转到步骤 2。 如果 登录为 " 帐户是 本地系统 , 继续步骤。
e. 开始 , 依次 运行 。
f. 在 运行 对话框中, 键入 cmd , 然后单击 确定 。
g. 在命令提示符下, 键入 网络停止 MSDTC 来停止 MSDTC 服务。
h. 在命令提示符下, 键入 Msdtc ûuninstall 要删除 MSDTC。
i. 在命令提示符下, 键入要打开注册表编辑器 regedit 。
j. 在注册表编辑器, 查找, 并删除以下子项:
HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/MSDTC
k. 关闭注册表编辑器。
l. 在命令提示符下, 键入 Msdtc ûinstall 要安装 MSDTC。
m. 在命令提示符下, 键入 Net 启动 MSDTC 来启动 MSDTC 服务。

注意 : MSDTC 服务帐户 登录为 " 设置为 NetworkService 帐户。
2.要允许网络事务, 您必须启用 MSDTC。 要这样做, 请按照下列步骤操作:
a. 开始 , 依次 运行 。
b. 在 运行 对话框中, 键入 dcomcnfg.exe , 然后单击 确定 。
c. 在 组件服务 窗口, 展开 组件服务 , 展开 计算机 , 然后然后展开 我的电脑 。
d. 右键单击 本机 , 然后单击 属性 。
e. 在 我的电脑属性 " 对话框中, 单击 MSDTC 选项卡上 安全配置 。
f. 在 " 安全配置 对话框, 单击以选中 " 网络 DTC 访问 " 复选框。
g. 要允许分布式事务在此计算机上运行从远程计算机, 请单击以选中 " 允许入站 复选框。
h. 要允许要从此计算机, 远程计算机上运行分布式事务请单击以选中 " 允许出站 复选框。
i. 在 事务管理通讯 组, 单击以选择 否验证必需 选项。
j. 在 安全配置 对话框中, 单击 确
a4d9
定 。
k. 在 我的电脑属性 " 对话框中, 单击 确定 。
3.配置 Windows 防火墙为包含 MSDTC 程序并包括作为例外端口 135。 要这样做, 请按照下列步骤操作:
a. 开始 , 依次 运行 。
b. 在 运行 对话框中, 键入 Firewall.cpl , 然后单击确定。
c. 在 控制面板 , 双击 Windows 防火墙 。
d. 在 Windows 防火墙 对话框, 单击 例外 选项卡上 添加程序 。
e. 对话框中 添加程序 , 单击, 浏览 并找到 Msdtc.exe 文件。 默认情况下, 安装驱动器 安装 drive:/Windows/System32 文件夹中文件存储。
f. 在 添加程序 对话框中, 单击 确定 。
g. 在 Windows 防火墙 对话框, 单击以选中 MSDTC 选项 程序和服务 列表中。
h. 单击 " 例外 " 选项卡上 添加端口 。
i. In the Add a Port dialog box, type 135 in the Port number text box, and then click to select the TCP option.
j. In the Add a Port dialog box, type a name for the exception in the Name text box, and then click OK.
k. In the Windows Firewall dialog box, select the name that you used for the exception in step j in the Programs and Services list, and then click OK.
 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
相关文章推荐