データベースにロックをかけることができなかったため、ALTER DATABASE が失敗しました。質問する

データベースにロックをかけることができなかったため、ALTER DATABASE が失敗しました。質問する

一部のプロセスが動作していないため、データベースを再起動する必要があります。データベースをオフラインにして、再度オンラインに戻す予定です。

私はこれを 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.

何が間違っているのでしょうか?

ベストアンサー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/

おすすめ記事