我最近搬迁了一个数据库,需要删除旧数据库的存在。 由于我想彻底删除它,我只是打开SQL Server企业pipe理器,find数据库,并试图删除它。 不过,我收到以下错误:
Error 5070: Database state cannot be changed while other users are using the database. ALTER DATABASE statement failed. sp_dboption command failed.
我不关心用户或任何阻止我删除这个数据库。 我只是需要摆脱它。 请帮我弄清楚如何完成这个任务。
您有连接到数据库的用户需要断开连接。 看看他们是谁使用sp_who 。 有关sp_who的MSDN更多信息 。 要断开用户连接,可以使用这样的脚本。
如果您确定不会导致以下问题,则还可以强制断开所有用户的连接:
ALTER DATABASE alerts SET OFFLINE ROLLBACK IMMEDIATELY;
这回滚开放交易,这是优雅的,但它仍然有点焦土,因为你不知道谁连接。 我认为使用sp_who来查看谁连接起来会更有效率,以便您知道需要更改连接string的人员,以便他们不会持续访问旧服务器。