笔记14-徐 分布式事务比较常见的例子以及启动日志里分布式事务的启动信息

笔记14-徐 分布式事务比较常见的例子以及启动日志里分布式事务的启动信息

1 --分布式事务比较常见的例子以及启动日志里分布式事务的启动信息
2 --在SQLSERVER上建立一个链接服务器(linked server),在本地的SQLSERVER发起一个事务,
3 --修改远端的服务器里的数据
4 
5 --Attempting to initialize Microsoft Distributed Transaction Coordinator (MS DTC). This is an informational message only. No user action is required.
6 --2012-09-09 09:33:11.830,服务器,The Microsoft Distributed Transaction Coordinator (MS DTC) service could not be contacted.  If you would like distributed transaction functionality, please start this service.

 

 1 --分布式事务比较常见的例子以及启动日志里分布式事务的启动信息
 2 --在SQLSERVER上建立一个链接服务器(linked server),在本地的SQLSERVER发起一个事务,
 3 --修改远端的服务器里的数据
 4 
 5 --下面显示SQL无法正常联系到MS DTC服务,errorlog会记载失败信息,(失败本身对SQL没有任何影响,只是SQL在下面的生命周期里
 6 --,将无法使用分布式事务功能,例如,修改链接服务器上的数据时,会报失败)
 7 --经过我的查明是因为DistribDistributed Transaction Coordinator(msdtc)服务没有开启,开启这个服务重启sql服务就可以了
 8 
 9 --Attempting to initialize Microsoft Distributed Transaction Coordinator (MS DTC). This is an informational message only. No user action is required.
10 --2012-09-09 09:33:11.830,服务器,The Microsoft Distributed Transaction Coordinator (MS DTC) service could not be contacted.  If you would like distributed transaction functionality, please start this service.
11 
12 
13 --开启MSDTC成功的信息
14 -- Attempting to initialize Microsoft Distributed Transaction Coordinator (MS DTC). This is an informational message only. No user action is required.
15 --2012-09-09 10:37:17.80 服务器  Attempting to recover in-doubt distributed transactions involving Microsoft Distributed Transaction Coordinator (MS DTC). This is an informational message only. No user action is required.
16 
17 
18 
19 --如果出问题,Windows启动过程会变得非常非常慢。等Windows终于启动好了以后,会发现SQL没有被正常启动
20 --errorlog文件最后会看到以下信息
21 --
22 --server failed to initalize COM(CoInitializeEx returned 800706ba)
23 --server  Heterogeneous Queies and Remote RPC will be disabled
24 
25 --这是因为SQL联系MSDTC的时候,需要使用到Microsoft Remote Procedure Call Server Service(RPCSS)的功能。
26 --Windows2000 和Windows2003启动的时候,是依次启动每一个服务的。在同一时间只能有一个服务启动。
27 --如果SQL被安排在先于RPCSS启动,就会发生一个死结。在等待很久之后,SQL放弃等待,启动失败,其他服务才能启动。
28 
29 --解决办法:打开注册表编辑器
30 --打开HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\MSSQLServer
31 --右键新建多字符串值-》DependOnService,双击DependOnService,在数值数据里输入RPCSS-》确定
32 
33 --注意:从SQL2008开始,SQL遇到这种情况,会直接放弃连接MSDTC,而继续启动。这样就不会遇到这个问题了

 

posted @ 2013-07-27 15:32 桦仔 阅读(...) 评论(...)  编辑 收藏