【数据库】还原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.

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/wlcs_6305/article/details/114837847