我运行大量执行INSERT的查询,在表上插入SELECT,UPDATE和ALTER,并且在开发这些查询时,运行以测试查询的各个部分的中间步骤可能会改变表或数据在表.
是否有可能做一个查询的干运行,并让sql Management Studio给你什么结果,而不实际修改数据或表结构?
在这一刻,我必须备份数据库,运行查询,如果它的工作,好,如果它不,我必须恢复可能需要大约一个小时的数据库,并试图避免浪费所有这一次不得不恢复数据库.
解决方法
使用
SQL transaction进行更改,然后备份.
执行脚本之前:
BEGIN TRANSACTION;
执行您的脚本并完成检查后:
ROLLBACK TRANSACTION;
您的脚本中的每个更改将被撤销.
注意:确保您的脚本中没有COMMIT!