您将如何处理不同环境中的跨数据库查询.例如,db1-development和db2-development,db1-production和db2-production.
如果我想在开发中从db2到db1进行跨数据库查询,我可以使用完全限定名称[db1-development].[schema].[table].但是如何在不同环境之间维护查询和存储过程?[db1-development].[schema].[table]在生产中不起作用,因为数据库名称不同.
我可以看到搜索和替换作为一种可能的解决方案,但我希望有一种更优雅的方法来解决这个问题.如果有特定于db的解决方案,我使用的是SQL Server 2005.
为什么dev和prod之间的数据库名称不同?显然,如果他们是相同的话,这是最容易的.
如果它是共享的单个表,那么您可以在其上创建一个视图 - 这只需要在转移到生产时更改该视图.
否则,您将要为对象创建SYNONYM,并确保始终引用它.您仍然需要更改SYNONYM创建脚本,但我认为这可以很容易地在构建脚本中完成.