2

我们正在寻找解决我们不同的开发/测试/生产环境中的问题。

目前,当我们从 UAT 迁移到生产环境时,我们必须记住更改存储过程中链接服务器的名称。例如,在生产环境中,SMOLDB 中的存储过程通过链接服务器调用 LS_AUTH.AuthenticationDB.dbo.SomeSproc,因为 AuthenticationDB 位于不同的服务器上。但是在 Dev 和 UAT 中,SMOLDB 和 Authentication 在同一台服务器上。

为了规避这种风险,我们认为我们将在所有环境中设置对链接服务器的一致引用。所以即使在 UAT 中,我们也会创建一个 LS_AUTH 链接服务器,而 SMOLDB 仍然会调用 LS_AUTH.AuthenticationDB.dbo.SomeSproc

对链接服务器的调用是否会在解决之前进入网络?当两个数据库位于同一台服务器上并且不需要通过链接服务器时,不确定我们是否要影响网络流量。

我猜 ServerVariables 的想法是一种选择......

4

3 回答 3

4

在 SQL Server 中,您还可以使用同义词来解决该问题。在查询和存储过程中使用同义词,只需为生产服务器准备同义词。

于 2009-11-18T17:54:58.440 回答
1

我们在生产和测试服务器上都使用链接服务器来做到这一点。我们从未注意到任何性能开销。流量当然不会通过网络。

于 2009-11-18T17:21:24.083 回答
1

这可能对您不起作用,但我们在这里遇到了类似的问题。在我们的生产环境中,我们有 2 台服务器,每台都有 1 个数据库。我们使用链接服务器在 2 之间来回切换。

现在,在我们的测试/开发环境中,我们使用了 2 个 SQL 服务器实例;MYSERVER\LIVEDB 和 MYSERVER\LOCALDB。这使我们能够像在生产中一样设置链接服务器。

就性能而言;我们没有发现任何异常。

于 2009-11-18T17:33:35.673 回答