web-dev-qa-db-ja.com

データベース「モデル」の排他ロックを取得できませんでした-誰が使用していますか?

新しいデータベースを作成するために次のクエリを実行しようとしたとき:

    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が失敗しました。

リストされている一部のファイル名を作成できませんでした。関連するエラーを確認してください。

何がモデルデータベースを使用していて、排他ロックを取得できませんか?

3

あなたの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ロックを保持します。

5
sepupic