我有一个 MSSQL Server 2008 数据库“DBLive”,它链接到三个不同的外部服务器 [ExtServer1、ExtServer2、ExtServer3],它们都在 sys.servers 中定义。有几个存储过程引用外部服务器上的存储过程或表,例如'SELECT TOP 1 @SomeId = Id FROM [ExtServer1].TheExtDB.dbo.SomeTable WHERE ...'。
这是挑战 - 如果我想在服务器上放置一个数据库 - “DBTest”,它是“DBLive”的相同副本 - 但它应该连接到不同的外部服务器 - 我如何使 [ExtServer1 .. 3] 指向“DBLive”和“DBTest”的不同外部服务器?
如果无法做到这一点 - 以这样的方式链接外部数据库的首选方式是什么,即同一数据库的两个实例可以拥有自己的外部服务器引用 - 而存储过程没有差异?