[解決済み】データベースへの接続をすべて強制終了するスクリプト (RESTRICTED_USER ROLLBACK より)
2022-04-01 14:55:27
質問
私は、Visual Studio Databaseプロジェクトから頻繁に再デプロイされる開発データベースを持っています(TFS自動ビルド経由)。
ビルドを実行すると、時々このエラーが発生します。
ALTER DATABASE failed because a lock could not be placed on database 'MyDB'. Try again later.
ALTER DATABASE statement failed.
Cannot drop database "MyDB" because it is currently in use.
こんなことをやってみました。
ALTER DATABASE MyDB SET RESTRICTED_USER WITH ROLLBACK IMMEDIATE
が、まだデータベースを落とせません。 (私の推測では、ほとんどの開発者が
dbo
にアクセスできるようになります)。
を手動で実行することができますね。
SP_WHO
を実行し、コネクションを殺すことを開始します。しかし、私は自動構築でこれを行う自動的な方法が必要です。 (ただし、今回は私の接続が、落とそうとしているdb上の唯一のものです。)
誰が接続しているかに関係なく、データベースを削除できるスクリプトはありますか?
解決方法を教えてください。
更新情報
MS SQL Server 2012 以上用
USE [master];
DECLARE @kill varchar(8000) = '';
SELECT @kill = @kill + 'kill ' + CONVERT(varchar(5), session_id) + ';'
FROM sys.dm_exec_sessions
WHERE database_id = db_id('MyDB')
EXEC(@kill);
MS SQL Server 2000、2005、2008用
USE master;
DECLARE @kill varchar(8000); SET @kill = '';
SELECT @kill = @kill + 'kill ' + CONVERT(varchar(5), spid) + ';'
FROM master..sysprocesses
WHERE dbid = db_id('MyDB')
EXEC(@kill);
関連
-
[解決済み】テキストが切り捨てられた、または1つ以上の文字がターゲットコードページで一致しない アンピボットの主キーを含む
-
[解決済み] テスト
-
[解決済み] INSERT ステートメントが FOREIGN KEY 制約と競合する - SQL Server
-
[解決済み] エラー: 名前解析スクリプトで正しい関数に渡された長さのパラメーターが無効です。
-
[解決済み] データベース内の全テーブルのサイズを取得する
-
[解決済み] TSQLを使用してデータベース内のすべてのテーブルのリストを取得するにはどうすればよいですか?
-
[解決済み] SQL Serverで、ある日付より大きいすべての日付を照会するにはどうすればよいですか?
-
[解決済み] SQLクエリで特定のデータベースのすべてのテーブル名を取得しますか?
-
[解決済み】SQL Server 2005データベースへの現在の接続をすべて終了させる方法は?
-
[解決済み] LEFT OUTER JOINはどのように左のテーブルに存在するよりも多くのレコードを返すことができますか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】 "指定された集約関数を含まないクエリを実行しようとしました。"
-
[解決済み] ERROR: 参照されたテーブル "bar" の与えられたキーに一致するユニークな制約がありません。
-
[解決済み] varchar 値 'simple, ' をデータ型 int に変換する際に変換に失敗しました。
-
[解決済み】集約関数のないTSQLピボット
-
[解決済み] INSERT ステートメントが FOREIGN KEY 制約と競合する - SQL Server
-
[解決済み] ORA-04063: ビューにエラーがあります
-
[解決済み] リンクされたサーバーの NULL に対して OLE DB プロバイダー Microsoft.Jet.OLEDB.4.0 のインスタンスを作成できません。
-
[解決済み] Presto SQL ピボッティング(言葉は悪いですが)データ
-
[解決済み] アクセスクエリーエラー(from句のシンタックスエラー)
-
[解決済み] トリガーがコンパイルエラーで作成される