SQLServerのプロセスの表示と削除

備忘録

データベースをリストアしたいとき、該当するデータベースが何らかの処理で使用(ロック)されているとリストアに失敗します。

そんなときは、実行されているプロセスを表示して強制終了することでロックが解除されてリストア可能になります。

プロセス表示

現在実行されているプロセスを知るには、master データベースのsysprocessesテーブルを参照します。

select spid,status,dbid from master.dbo.sysprocesses where dbid = db_id('データベース名')

【実行結果】

  • spid : プロセス番号
  • status : プロセスの状態
  • dbid : プロセスで現在使用されているデータベースID

プロセス削除

kill <プロセス番号>

下のように実行結果のspidを指定して実行します。

kill 53

コメント

タイトルとURLをコピーしました