0
我想将我的SQL部署脚本包装在事务中(包含一堆模式更改)。我这样做是因为如果其中一部分失败,我希望数据库恢复到运行脚本之前的状态。用于部署脚本的Sql Server 2005事务
我有几个简单的问题,我想之前推动这些变化已经解决:
- 是否有必要明确调用的脚本的底部上的事务提交?
- 是否有必要明确地检查错误并在底部调用ROLLBACK,或者仅仅使用事务提供这种效果?
我想将我的SQL部署脚本包装在事务中(包含一堆模式更改)。我这样做是因为如果其中一部分失败,我希望数据库恢复到运行脚本之前的状态。用于部署脚本的Sql Server 2005事务
我有几个简单的问题,我想之前推动这些变化已经解决:
是的。
是的。
您还应该调查SET XACT_ABORT ON
。 SET XACT_ABORT ON
指示SQL Server回滚整个事务,并在发生运行时错误时中止批处理。
这篇文章Error Handling in SQL 2005 and Later值得一读。