我想从数据库1查询数据库2.简单,对吧?
SELECT * FROM database2.dbo.TableName
不确定。但是如果database2的实际名称发生了变化呢?我必须回去改变我的所有触发器。想象一下,如果登台服务器上的database2实例名为“database2_staging”......
我想要的是一个我可以指出的抽象,然后只需要改变抽象。类似的东西:
SELECT * FROM GetSecondaryDatabaseReference()。TableName
我查看了链接服务器,但此解决方案将是服务器内部。也许我可以将同一台服务器链接到自己?我不知道。
思想?
TIA。
答案 0 :(得分:3)
您可以使用CREATE SYNONYM
为每个远程表创建同义词,并在所有查询中引用它们。
答案 1 :(得分:1)
使用视图。
CREATE VIEW remotetable 如 SELECT ... FROM db2.dbo.table
视图可以指向同一数据库中的表,同一实例中不同数据库中的表,或指向使用链接服务器的其他任何地方的表。