一尘不染

ALTER DATABASE失败,因为无法在数据库上放置锁

sql

我需要重新启动数据库,因为某些进程无法正常工作。我的计划是使它脱机并再次回到联机状态。

我正在尝试在Sql Server Management Studio 2008中执行此操作:

use master;
go
alter database qcvalues
set single_user
with rollback immediate;
alter database qcvalues
set multi_user;
go

我收到这些错误:

Msg 5061, Level 16, State 1, Line 1
ALTER DATABASE failed because a lock could not be placed on database 'qcvalues'. Try again later.
Msg 5069, Level 16, State 1, Line 1
ALTER DATABASE statement failed.
Msg 5061, Level 16, State 1, Line 4
ALTER DATABASE failed because a lock could not be placed on database 'qcvalues'. Try again later.
Msg 5069, Level 16, State 1, Line 4
ALTER DATABASE statement failed.

我究竟做错了什么?


阅读 659

收藏
2021-05-05

共1个答案

一尘不染

得到错误后,运行

EXEC sp_who2

在列表中查找数据库。连接可能没有终止。如果找到与数据库的任何连接,请运行

KILL <SPID>

<SPID>连接到数据库的会话的SPID在哪里。

删除所有与数据库的连接后,尝试脚本。

不幸的是,我没有看到您遇到此问题的原因,但是这里的链接显示该问题已在其他地方发生。

http://www.geakeit.co.uk/2010/12/11/sql-take-offline-fails-alter-database-
failed-because-a-lock-could-not-
error-5061/

2021-05-05