如果我们能继续下面链接的帖子中讨论的主题,我将不胜感激:在 sql server 的数据库上运行多个脚本文件。
TransactSQL 运行另一个 TransactSQL 脚本
在我公司,我们也有类似的问题。我们有两个环境:预生产和生产。当我们开发新版本时,在生产前数据库中进行了很多更改,这是生产的最小副本。这些更改会生成一组脚本文件(*.sql 文件,可以包含 CREATE、ALTER VIEWS、TABLES、INSERT 和其他命令),然后我们尝试使用 SVN 进行控制(我们知道文件名)。当我们必须发布这些修改时,这些脚本会在生产数据库上一一执行。
问题是,我们(开发人员团队)没有权限在生产数据库上运行脚本,这是由 DBA 制作的,并且在大多数情况下,其中一个脚本有可能导致系统瞬间崩溃的错误。
有一种方法可以使用本文讨论的解决方案来运行所有脚本文件的原子执行,如果出现问题,我们会回滚吗?也许使用 BEGIN TRANS、COMMIT 和 ROLLBACK 语句。
有什么建议么?
谢谢