新しいデータベースを作成するために次のクエリを実行しようとしたとき:
CREATE DATABASE [Lunch]
CONTAINMENT = NONE
ON PRIMARY
( NAME = N'Lunch',
FILENAME = N'E:\Data Files\Lunch.mdf' ,
SIZE = 110592KB , FILEGROWTH = 1048576KB ),
FILEGROUP [DATA]
( NAME = N'Lunch_Data',
FILENAME = N'E:\Data Files\Lunch_Data.ndf' ,
SIZE = 110592KB , FILEGROWTH = 1048576KB ),
FILEGROUP [NONCLUSTERED_INDEXES]
( NAME = N'Lunch_nonclusteredindexes',
FILENAME = N'E:\Data Files\Lunch_nonclusteredindexes.ndf' ,
SIZE = 110592KB , FILEGROWTH = 1048576KB )
LOG ON
( NAME = N'Lunch_log',
FILENAME = N'F:\logFiles\Lunch_log.ldf' ,
SIZE = 524288KB ,
FILEGROWTH = 524288KB )
GO
次のエラーメッセージが表示されます。
メッセージ1807、レベル16、状態3、行1
データベース「モデル」の排他ロックを取得できませんでした。
後で操作を再試行してください。
メッセージ1802、レベル16、状態4、行1
CREATE DATABASEが失敗しました。
リストされている一部のファイル名を作成できませんでした。関連するエラーを確認してください。
何がモデルデータベースを使用していて、排他ロックを取得できませんか?
あなたのmodel
データベースはlocked
になりましたので、lock
が含まれているセッションを見つける必要があります。これはsys.dm_tran_locks
を使用して実行できます。
select request_session_id
from sys.dm_tran_locks
where resource_type = 'database' and
resource_database_id = 3 and
request_type = 'LOCK' and
request_status = 'GRANT';
request
からmodel
データベースがまったく存在しない場合、別の回答で述べられているアプローチは機能しません。SSMS
データベースのコンテキストでmodel
クエリウィンドウを開いたばかりで、クエリを実行しなかったユーザーがいる可能性がありますが、そのセッションはまだS
リソースのdatabase
ロックを保持します。