已禁用对分布式事务管理器(MSDTC)的网络访问。请使用组可以由本文解决。

1、删除注册表中的键:  
1.HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\MSDTC
2.HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSDTC
4、运行:net stop msdtc
5、运行:msdtc -uninstall
6、运行:msdtc -install

搜索

 
右击我的电脑--管理---服务

启用网络Com+ 访问
启用网DTC

 

 

 

 

已禁用对分布式事务管理器(MSDTC)的网络访问。请使用组可以由本文解决。

1、删除注册表中的键: 
1.HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\MSDTC 
2.HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSDTC 
4、停止MSDTC服务:net stop msdtc 
5、卸载MSDTC服务:msdtc -uninstall 
6、重新安装MSDTC服务:msdtc -install   

操作系统最好不要用ghost安装。


启用网络Com+ 访问 
启用网DTC
也一起安装一下 


网络MSDTC配置方法我们有时会发现一下问题:已禁用对分布式事务管理器(MSDTC)的网络访问。请使用组件服务管理工具启用 DTC 以便在 MSDTC 安全配置中进行网络访问。可以由本文解决。一、启用网络 DTC 访问的步骤

启用网络DTC是分布式数据库事物控制的必要条件。设置过程应依下面步骤进行。

1)      单击“开始”,指向“控制面板”,然后单击“添加或删除程序”;

2)      单击“添加/删除 Windows 组件”;

3)      选择“应用程序服务器”,然后单击“详细信息”;

4)      选择“启用网络 DTC 访问”, 网络管理 、网络事务、XA 事务。另外,DTC 登录帐户一定要设置为“NT Authority\NetworkService”,并且事务管理器通讯不要求进行验证。然后单击“确定”;

5)      单击“下一步”;

6)      单击“完成”;

7)      停止分布式事务处理协调器服务,然后重新予以启动;

8)      停止 Microsoft SQL Server 和其他参与分布式事务处理的资源管理器服务(如 Microsoft 消息队列),然后将其重新启动。

二、Windows xp配置MSDTC的方法

控制面板-----〉管理工具-----〉组件服务



选择组件服务-----〉计算机--------〉我的电脑,再点击鼠标右键。






“点击安全性配置(I)….”按钮,选择项如下:








引自:http://www.cnblogs.com/lastbeachhead/archive/2009/04/14/1435448.html


       配置msdtc需要分别配置数据库服务器和开发机,因为只有两个机器都配置正确了,分布式事务才不会报乌七八糟的错误。如果数据库服务器和开发机是同一台机器,那就不用看本文了,因为不存在分布式事务的问题。

       数据库服务器和开发机中配置msdtc的步骤是一样的,下面列出配置步骤。

     1、防火墙。如果防火墙是关的,那就不用再设置了。如果防火墙是开的,那么确保msdtc.exe是在它的例外里,一般这个程序是在C:\Windows\System32 \msdtc.exe这个角落。有时候你会发现在防火墙的例外里添加了msdtc,还是不行,那有可能是跟一个端口有关系,即135端口,这是个RPC端口,在出错的时候,可以尝试将该端口也添加到防火墙的例外里。

     2、打相关数据库补丁。如果数据库服务器是sql2000,那么确保已经打了sp4补丁。也许有人会说,这是什么年代了,还用sql2000做数据库服务器,但是要记住,买单的是客户,而不是我们自己,客户一般情况下几年前买了sql2000,不一定会被你说服去花钱升级到2005或2008。如果数据库是sql2005,那么最好把sq2 补丁打上。

    3、msdtc的配置。msdtc的配置是在组件服务里进行的,具体如下图所示,我也就不一一说了。这里是用windows2008为例的,其它版本的设置都类似。

         在使用本地协调器上打上勾。

设置msdtc属性页

 

关键是这页一定要设置正确。

      4、设置com+。很多人遇到msdtc的问题后,在网上百搜搜不到解决办法,故流传被com+彻底打败了,偶对com+没什么研究,下面的设置也是从别人那里学的,我这里做个总结而已。

编辑[访问权限]和[启动和激活权限]的默认值,将network service账号设置为拥有所有权限。

      5、检查注册表。检查下图中显示的两项的值。在注册表中的路径在图片的下方可以看到。



1.启动2台sql server服务器的msdtc服务,做cluster的话,必须为每个节点运行comclust.exe
2.2台sqlserver都要设置好对方的linkserver,
3.如果2台sql server服务器不属于同一个网段,则需要双方配置host,保证ping机器名可以ping通对方
4.可以使用dtcping工具测试一下
5.这样,就sql server可以进行分部式查询和事务操作了。

 

 

上文转自

http://hi.baidu.com/yyylajzwwfbegpe/item/1a426c0add1f596dd55a119f

posted on 2014-03-12 16:35  YoungPop_Chen  阅读(2542)  评论(0编辑  收藏  举报

导航