首页 > 代码库 > MS-SQLSERVER中的MSDTC不可用解决方法

MS-SQLSERVER中的MSDTC不可用解决方法

今天在本地机直接在触发器里更新还有一台服务器数据时出现: MSDTC不可用
  解决的方法:
  在windows控制面版-->管理工具-->服务-->Distributed   Transaction   Coordinator-->属性-->启动

1.
A.不用事务,关用SELECT   语句.能否够分布式查询?    
B.LINKSERVER   在做分布式更新事务时不能对本机操作.(就是不能环回分布式事务)  
C.DBCC   TRACEON   (3604,   7300)--用跟踪看更具体错误信息.        
D.下载MS提供的DTCPing.exe   分装在两台机上,按README说明来执行它.看出错信息.  
http://download.microsoft.com/download/complus/msdtc/1.7/nt45/en-us/DTCPing.exe  
2.
两台机的MSDTC是否都打开了.    
3.
MSDTC设置是否正确.  
1).打开命令提示,执行"net   stop   msdtc",然后执行"net   start   msdtc"。  
2).转至"组件服务管理工具"。  
3).浏览至"启动管理工具"。  
4).选择"组件服务"。  
   a.展开"组件服务"树,然后展开"我的电脑"。  
   b.右键单击"我的电脑",然后选择"属性"。  
   C.在MSDTC选项卡中,确保选中了下列选项:   网络   DTC   訪问  网络管理  网络事务 XA 事务  
   e.另外,"DTC登录帐户"一定要设置为"NT Authority/NetworkService"。  
5).单击"确定"。这样将会提示您"MS DTC 将会停止并又一次启动。  
     全部的依赖服务将被停止。请按‘‘是‘‘继续"。单击"是"继续。  
6).单击"确定"关闭"我的电脑"属性窗体。  
4.
MSDTC依赖于RPC,RPC使用的port是135,測试135port是否打开.是否有防火墙?假设有先关了防火墙.  
telnet   IP   135  
假设是关闭的打开它.  
5.
有的机因为各种原因,SQLOLEDB不能使用分布式事务,更改为"MSDASQL"   的ODBC方式联接.  
使用RRAS而不是RAS.(控制面版--管理工具--远程服务管理器)  
Check   whether   you   are   using   Remote   Access   Server   (RAS)   to   access   remote   servers.   If   so,   make   sure   that   you   have   implemented   Routing   RAS   (RRAS).   Linked   server   does   not   work   on   RAS   because   RAS   allows   only   one   way   communication.    
6.检查你的两台服务器是否在同一个域中.  假设不在同一个域中,是否建立可信任联接.  
7.假设是WIN2000,升级到SP4  
8.升级MDAC到2.6以上,最好是2.8.  
9.要安装SQL的最新补丁:   sp3a  

简单的说了.很多其它的网上查找

MS-SQLSERVER中的MSDTC不可用解决方法