データベース接続のトラブルはもう怖くない!SQL Server 2005で接続を強制終了する方法を完全網羅
SQL Server 2005 データベースへのすべての現在の接続を強制終了する方法
方法 1: KILL コマンドを使用する
KILL
コマンドを使用すると、指定されたセッション ID に関連付けられているすべての接続を強制終了できます。
KILL spid
ここで、spid
は強制終了するセッション ID です。
SPID を取得する方法
sys.dm_tran_session
ビューを使用して、現在のすべての接続の SPID を取得できます。
SELECT spid
FROM sys.dm_tran_session
sp_who
システム プロシージャを使用して、現在のすべての接続に関する情報を取得することもできます。
EXEC sp_who
注意事項
KILL
コマンドを使用すると、データ損失が発生する可能性があります。- 他のユーザーが使用している接続を強制終了する前に、十分な注意を払ってください。
- データベース全体への接続を強制終了するには、自分の SPID を除いたすべての SPID を
KILL
コマンドで指定する必要があります。
SQL Server Management Studio (SSMS) を使用して、グラフィカル インターフェースからすべての現在の接続を強制終了することもできます。
- SSMS で、接続している SQL Server 2005 インスタンスに接続します。
- オブジェクト エクスプローラー で、データベース を展開します。
- 強制終了するデータベースを右クリックし、すべてのタスク > 接続 > すべての接続を切断を選択します。
- この方法を使用するには、SSMS に接続するのに十分な権限を持っている必要があります。
-- 指定された SPID の接続を強制終了する
KILL 5
-- データベース全体への接続を強制終了する (自分の SPID を除く)
SELECT spid
FROM sys.dm_tran_session
WHERE spid <> @@SPID
GO
KILL spid
方法 2: SQL Server Management Studio を使用する
- 上記のサンプルコードは、あくまでも例です。実際の状況に合わせて変更する必要があります。
KILL
コマンドを使用する場合は、十分な注意を払ってください。
SQL Server 2005 データベースへのすべての現在の接続を強制終了するその他の方法
方法 3: sp_whoixed プロシージャを使用する
sp_whoixed
システム プロシージャは、現在のすべての接続を一覧表示し、各接続を強制終了するオプションを提供します。
EXEC sp_whoixed @kill = 1
RECONNECT
プロシージャを使用して、現在のすべての接続を新しいセッションに再接続できます。これにより、既存の接続がすべて強制終了されます。
RECONNECT
方法 5: SQL Server サービスを停止する
SQL Server サービスを停止すると、すべての現在の接続が強制終了されます。ただし、これは最後の手段としてのみ使用してください。
- データ損失が発生する可能性があります。
sql-server sql-server-2005