T-SQLコマンドを使用してSQL Serverデータベースへの接続を強制終了する
SQL Serverデータベースへの接続を強制終了するスクリプト
このスクリプトは、SQL Serverデータベースへのすべての接続を強制終了します。これは、データベースの復元やメンテナンスなど、接続をすべて切断する必要がある場合に役立ちます。
制限事項
このスクリプトは、RESTRICTED_USER ロールバックよりも強力な権限を持つユーザーのみが実行できます。
スクリプト
USE [データベース名]
GO
EXEC sp_killallconnections
GO
解説
USE [データベース名]
は、接続するデータベースを指定します。EXEC sp_killallconnections
は、すべての接続を強制終了するストアドプロシージャを実行します。
注意事項
- このスクリプトを実行すると、すべてのユーザーがデータベースから切断されます。
- データベースへの接続が切断されると、未保存のデータが失われる可能性があります。
代替方法
SQL Server Management Studio (SSMS)
SSMSを使用して、データベースへの接続を強制終了することもできます。
- SSMSを起動し、データベースサーバーに接続します。
- オブジェクトエクスプローラーで、データベースを展開します。
- セキュリティ > ログインを選択します。
- 接続を強制終了するログインを右クリックし、接続の切断を選択します。
T-SQLコマンド
次のT-SQLコマンドを使用して、特定のユーザーの接続を強制終了できます。
KILL [セッションID]
USE AdventureWorks2019
GO
EXEC sp_killallconnections
GO
実行例
C:\>sqlcmd -S localhost -U sa -P MyPassword -Q "USE AdventureWorks2019; EXEC sp_killallconnections;"
1 row(s) affected.
(1 row(s) affected)
C:\>
この例では、sa
ユーザーを使用して localhost
上の AdventureWorks2019
データベースへのすべての接続を強制終了しています。
SQL Serverデータベースへの接続を強制終了するその他の方法
SSMSを使用して、特定のユーザーまたはすべてのユーザーの接続を強制終了できます。
すべてのユーザーの接続を強制終了する
T-SQLコマンドを使用して接続を強制終了する
EXEC sp_killallconnections
KILL [セッションID]
- タスクマネージャーを開きます。
- 詳細 タブを選択します。
- プロセス 列で sqlservr.exe を探します。
- sqlservr.exe プロセスを右クリックし、 プロセスツリーの表示 を選択します。
警告: この方法は、すべてのユーザーの接続を強制終了するため、データ損失が発生する可能性があります。
サービスを停止して接続を強制終了する
- サービス コントロールパネルを開きます。
- SQL Server サービスを右クリックし、 停止 を選択します。
sql sql-server t-sql