记解决一个数据库删不掉的问题
笔者在整理测试环境的时候, 遇到了一个数据库怎么也删不掉的问题.
报错如下:
Alter failed for Database 'FASTSearchAdminDatabase'. (Microsoft.SqlServer.Smo)
------------------------------
ADDITIONAL INFORMATION:An exception occurred while executing a Transact-SQL statement or batch. (Microsoft.SqlServer.ConnectionInfo)
------------------------------
Changes to the state or options of database 'FASTSearchAdminDatabase' cannot be made at this time. The database is in single-user mode, and a user is currently connected to it.
ALTER DATABASE statement failed. (Microsoft SQL Server, Error: 5064)
解决方案
============================
运行下面的SQL查询语句, 先得到问题数据库的DBID.
select db_id('FASTSearchAdminDatabase')
查找当前连接到该数据库的session
select * from sys.sysprocesses where dbid = 30
将其干掉
kill 54
之后我们就可以连接到这个数据库去修改single user mode为multiuser mode.
alter database [FASTSearchAdminDatabase] set multi_user
好了, 该数据库可以被删除了.
2011-09-12 更新
这次我试图Restore SSP DB, 结果一直报有其他用户正在使用这个DB, 从而无法还原DB.
用了上面的方法, 结果刚刚杀掉session, 就又有新的session进来.
解决方法很简单, 把那台不断试图连接到这台SQL的网络断开, 还原成功.
记得恢复刚才断开的网络哦.