SqlServer分布式事务解决方案指南一
适用环境 6.链接服务器和名称解析问题 ????? 建立链接sql server服务器,通常有两种情况: ????? 第一种情况,产品选”sql server” EXEC sp_addlinkedserver? ?? @server='linkServerName',?? @srvproduct = N'SQL Server' 这种情况,@server (linkServerName)就是要链接的sqlserver服务器名或者ip地址。 ????? 第二种情况,访问接口选“Microsoft OLE DB Provider Sql Server”或“Sql Native Client” EXEC sp_addlinkedserver??? ?? @server=' linkServerName ',? ?? @srvproduct='',?? @provider='SQLNCLI',? ?? @datasrc='sqlServerName' 这种情况,@datasrc(sqlServerName)就是要链接的实际sqlserver服务器名或者ip地址。 Sql server数据库引擎是通过上面设置的服务器名或者ip地址访问链接服务器,DTC服务也是通过服务器名或者ip地址访问链接服务器,所以要保证数据库引擎和DTC都能通过服务器名或者ip地址访问到链接服务器。 数据库引擎和DTC解析服务器的方式不太一样,下面分别叙述 ????? 6.1 数据库引擎 第一种情况的@server或者第二种情况的@datasrc设置为ip地址时,数据库引擎会根据ip地址访问链接服务器,这时不需要做名称解析。 第一种情况的@server或者第二种情况的@datasrc设置为sql server服务器名时,需要做名称解析,就是把服务器名解析为ip地址。 有两个办法解析服务器名: 一是在sql server客户端配置中设置一个别名,将上面的服务器名对应到链接服务器的ip地址。 二是在“C:WINDOWSsystem32driversetchosts”文件中增加一条记录: xxx.xxx.xxx.xxx?? 服务器名 作用同样是把服务器名对应到链接服务器的ip地址。 ????? 6.2 DTC 不管哪一种情况,只要@server设置的是服务器名而不是ip地址,就需要进行名称解析,办法同上面第二种办法,在hosts文件中增加解析记录,上面的第一种办法对DTC不起作用。 如果@server设置的是ip地址,同样不需要做域名解析工作。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |