使用TransactSQL运行多个脚本文件SQL

时间:2013-08-16 20:05:49

标签: sql sql-server transactions sql-server-2008-r2

如果我们能够继续讨论以下链接帖子中讨论的主题,我会感激不尽:在数据库上运行多个脚本文件sql server。

TransactSQL to run another TransactSQL script

在我的公司,我们遇到了类似的问题。我们有两个环境:预生产和生产。当我们开发新版本时,在预生产数据库中进行了大量更改,这是最小的生产副本。这些更改会生成一组脚本文件(* .sql文件,可以包含CREATE,ALTER VIEWS,TABLES,INSERT和其他命令),然后我们尝试使用SVN(我们知道文件名)进行控制。当我们必须发布这些修改时,这些脚本将在生产数据库上逐个执行。

问题是,我们(开发人员团队)没有权限在生产数据库上运行脚本,这是由DBA做出的,并且在大多数情况下,其中一个脚本有错误可能导致系统崩溃

有一种方法可以使用本文中讨论的解决方案来运行所有脚本文件的原子执行,如果出现问题,我们会进行回滚吗?也许使用BEGIN TRANS,COMMIT和ROLLBACK语句。

有什么建议吗?

由于

2 个答案:

答案 0 :(得分:0)

我的建议是在生产之前建立另一个测试环境,以便测试您的部署。这很有效。

答案 1 :(得分:0)

如果Visual Studio架构比较可用,则可以在环境迁移中使用它。

检查This SO Question

中显示的一些概念

问候。