我有一个 MSSQL Server 2008 数据库“DBLive”,它链接到三个不同的外部服务器 [ExtServer1、ExtServer2、ExtServer3],所有这些都在 sys.servers 中定义。有几个存储过程引用外部服务器上的存储过程或表,f.x。像'SELECT TOP 1 @SomeId = Id FROM [ExtServer1].TheExtDB.dbo.SomeTable WHERE ...'。
这里是挑战 - 如果我想在服务器上放置一个数据库 - “DBTest”,它是“DBLive”的相同副本 - 但它应该连接到不同的外部服务器 - 我如何制作 [ExtServer1 .. 3 ] 指向“DBLive”和“DBTest”的不同外部服务器?
如果无法做到这一点 - 以相同数据库的两个实例可以拥有自己的外部服务器引用的方式链接外部数据库的首选方式是什么 - 而存储过程没有差异?
最佳答案
您可能想在这里使用同义词。请参阅此 Microsoft Connect issue 中建议的解决方法(并在您在那里时对问题进行投票)。
关于sql-server - 每个数据库映射到不同的链接服务器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5966725/