SSMS使用什么来按名称创建链接的SQL Server?

时间:2014-04-14 16:35:49

标签: sql-server linked-server

我们在我的工作场所设置了几个SQL服务器,它们都相互链接,我们在很多代码中都使用了4部分的DB名称。我们正在考虑将一些数据库从一个服务器移动到另一个服务器,并且正在评估对我们的代码的影响,但是这里似乎没有人知道链接服务器名称在4pt DB的[server]部分中使用了什么协议名称[server].[database].[dbo].[table][server]部分是WINS条目,它只是DNS,还是SQL Server做了一些聪明的事情来实现它?

如果是DNS,那么移动数据库(最少的代码更改)就足够了,但是其他任何事情我们可能不得不重新考虑我们的策略。

1 个答案:

答案 0 :(得分:2)

server只是一个符号名称,datasrc才是真正重要的名称。

假设您有一个像这样创建的链接服务器:

EXEC master.dbo.sp_addlinkedserver @server = N'TEST', @srvproduct=N'', @provider=N'SQLNCLI', @datasrc=N'server2008r2'

并且查询从TEST.database.schema.table中选择。使用不同的@datasrc重新创建链接服务器,它仍然可以工作,但这次它将从不同的物理服务器读取数据(只要数据存在并且安全性设置正确)。