数据库名称的TSQL Synoym

数据库名称的TSQL Synoym,tsql,Tsql,我在sql server数据库[a]中有许多存储过程,它们需要引用同一服务器中另一个数据库[B]中的表 所以在一个典型的sp中,我有如下语句 select * from [A].table1 inner join [B].table2 ..... 这很好。但是[B]数据库名称可能在将来某个时候会更改。因此我想将其作为变量(另一个数据库的同义词)。当然,一种方法是为数据库[A]中[B]中的表创建同义词。另外,我不想使用动态sql 其他数据库(例如Oracle)

我在sql server数据库[a]中有许多存储过程,它们需要引用同一服务器中另一个数据库[B]中的表

所以在一个典型的sp中,我有如下语句

  select * from [A].table1 inner join
                [B].table2 .....
这很好。但是[B]数据库名称可能在将来某个时候会更改。因此我想将其作为变量(另一个数据库的同义词)。当然,一种方法是为数据库[A]中[B]中的表创建同义词。另外,我不想使用动态sql

其他数据库(例如Oracle)有一些概念,例如数据库链接,它是指向任何其他数据库(可能在另一台服务器上)的符号名称

想知道TSQL中是否有任何等效功能


谢谢

SQL Server没有数据库同义词。您唯一的选择是为[A]中的[B]中的所有必需对象创建同义词。但是,您可以创建一个过程,自动循环[B]中的对象,并在[a]中创建它们的同义词。

SQL Server没有数据库同义词。您唯一的选择是为[A]中的[B]中的所有必需对象创建同义词。但是,您可以创建一个过程,自动循环[B]中的对象,并在[a]中创建它们的同义词。

不过更适合DBA论坛。不确定您可以创建指向同一服务器的链接。。。不过更适合DBA论坛。不确定您可以创建指向同一服务器的链接。。。