我正在做一个项目,我们直接从一个数据库到另一个数据库。我们有一个主数据库,客户可以在其中更新他们的网站,然后通过大量 SQL 脚本将更改从一个数据库推送到另一个数据库。主数据库用作预览站点,允许他们在将更改上线之前查看更改。
目前我们直接将从数据库名称编码到 SQL 查询中。
例如INSERT INTO [slave-database].dbo.TableName
然而,当我们将拥有多组两个数据库的开发分支时,这绝对是一件痛苦的事情。任何与正在进行的开发相关的存储过程都会更新以指向该特定分支的从属数据库,例如[branch5-slave-database].
这并不理想,因为在推送到主干时必须手动调整更改(更改硬编码的数据库名称)。
有更好的方法吗?目前我能看到的唯一解决方案是为每个分支创建一个 SQL Server 实例,这意味着数据库名称在所有分支中始终保持相同。不过,这将是一个绝对的痛苦,并且会产生相当大的开销。是否可以在 SQL Server 中为数据库名称设置常量?允许我们只更新分支数据库上的单个值。动态 SQL 是不可能的。
最佳答案
关于sql - 跨数据库 SQL 脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1091298/