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