SQL Server数据库恢复常见问题

在处理数据库还原的时候,常常会出现(the database is in use) 错误信息。

顾名思义,就是因为还有人或者是应用程式还正在连结使用这个数据库, 所以SQL Server 拒绝让任何人还原这个数据库。解决办法很简单,就是用sp_who2 找出连线的SPID ( Server Process ID), 然后用kill 指令杀掉这个SPID. 就可以继续进行数据库还原的动作了。

如果只有一两个SPIDs 要kill, 可以慢慢用kill 指令来处理,但若有几十个或几百个SPIDs 要kill, 就必须要用比较科学的方法解决。可以使用这个T-SQL 一次搞定kill 所有的SPIDs.

但是,如果遇到一些侵略性很高很黏的连结设定就有点麻烦。当这个连结的SPID 被killed 后,马上又迅速的自动产生新的连结。根本就没办法完全杀干净。这个时候,可以拿出杀手锏,就是找出这个侵略性很高的login,然后停用(disable) 这个login. 让它没有办法在连上数据库。等到数据库还原完成后,再启用(enable) 这个login.

本作品采用《CC 协议》,转载必须注明作者和本文链接
讨论数量: 0
(= ̄ω ̄=)··· 暂无内容!

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!