常常要通过存储过程修改链接数据库中的数据,需要在源数据库服务器和目标数据库服务器上配置分布式事务,配置过程比较繁琐,分布式事务出现问题既有操作系统的原因也有SQL SERVER的原因。读了《》一文以后,我感觉基本上已经形成了一套标准化的配置步骤,但第6节中没有提到当SQL Server的名称和计算机名不一致时应该采取的措施。
对于全新安装的机器,按照中文文档的要点配置,应该不会有什么问题。如果按以上配置还有问题,参考英文文档,很可能是安装SQL SERVER以后修改过计算机名(网络名),导致SQL Server的名称和计算机名不一致。
-- 查询SQL SERVER名称 SELECT @@SERVERNAME
最好先在服务器上相互ping以下对方计算机名,看看返回的IP地址对不对,防止网络上计算机重名。如果计算机名解析IP地址无误,那么就按计算机名来修改SQL SERVER名称。
-- SQL SERVER 2005 修改服务器名 sp_dropserver <old_name\instancename > GO sp_addserver <new_name\instancename >, local GO -- SQL SERVER 2000 修改服务器名 use master go sp_configure ' allow up ', 1 RECONFIGURE WITH OVERRIDE GO update sysservers set srvname =<new_name > where srvid = 0 update sysservers set datasource =<IP > where srvid = 1 go sp_configure ' allow up ', 0 RECONFIGURE WITH OVERRIDE GO
中文参考文档:
英文参考文档: