链接服务器的数据库脚本问题

时间:2016-01-27 05:25:37

标签: sql-server database production-environment linked-server

我的数据库脚本有问题。我们有三个环境:DEV,QA和UAT。我们有两个数据库:DB1DB2。在DEV / QA上,这两个数据库位于不同的物理服务器上,因此我们在DB2中有一个到DB1的链接服务器。但是在UAT上,它是具有两个数据库的单个服务器。

我们的问题是我们编写的脚本涉及使用DB2链接服务器引用DB2,该服务器在UAT中失败。我们采用的流程是使用手动方式部署到UAT,这是无效的。

有人可以建议可以采取哪些措施来改善这种情况吗?

1 个答案:

答案 0 :(得分:3)

您可以在UAT环境的数据库引用中创建链接服务器,其名称与DEV / QA环境中的链接服务器相同。

假设UAT数据库的服务器名称为MYUATSRVNAME(使用SELECT @@SERVERNAME的输出)。您可以创建一个自引用链接服务器,其名称与DEV / QA DB1中使用的链接服务器名称相同。假设名称为UVWXYZ,在您的UAT数据库上执行

EXEC sp_addlinkedserver @server='UVWXYZ',@srvproduct='',@provider='SQLNCLI',@datasrc='MYUATSRVNAME';

这样您就可以使用引用相同链接服务器名称的相同脚本。例如,此查询应该在DEV / QA和UAT上的DB1中工作:

SELECT * FROM [UVWXYZ].[DB2].[your_schema].[your_table];