当前位置:  开发笔记 > 编程语言 > 正文

SQL Server使用立即回滚来更改数据库

如何解决《SQLServer使用立即回滚来更改数据库》经验,为你挑选了1个好方法。

有时(例如)通过执行以下命令将数据库设置为脱机时,将抛出异常,因为连接了一个或多个客户端:

ALTER DATABASE  SET OFFLINE

根据这个答案,一个解决方案是with rollback immediate在最后使用:

ALTER DATABASE  SET OFFLINE WITH ROLLBACK IMMEDIATE

实际上为什么这会断开其他客户端的连接?这听起来像是一种非常明显的强制断开连接的方式,尽管它有效.



1> 小智..:

当其他用户在其上运行事务时,您无法使数据库脱机,因此您将不得不以这种或那种方式断开用户以使数据库脱机.

如果您有礼貌,可以要求所有用户在脱机数据库之前完成他们正在做的任何事情

但如果那不合实,包括选项

WITH ROLLBACK IMMEDIATE

表示所有当前事务都回滚(数据库重置为事务启动的点).你也可以用

WITH ROLLBACK AFTER 60 SECONDS

但我从来没有这么做过

如果在未完成的事务正在运行时可以使数据库脱机,则数据库将处于不稳定状态,并且既未进行更改也未取消

推荐阅读
wurtjq
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有