SQL Server 2008: ロールバックの進行中にデータベースを削除する

SQL Server 2008: ロールバックの進行中にデータベースを削除する

データベースの変更に失敗したテスト データベースを削除しようとしています。SQL のロールバック アクションによって消費されるリソースが、実稼働データベースに影響を及ぼしています (ユーザーからクエリの速度が遅いなどの報告があります)。

これは理想的な状況ではありません。残念ながら、私の顧客ベースでは、本番サーバーとテスト サーバーを別々に持つことはまれです。

データベースを削除しようとすると、既存の接続の削除も失敗します。

ロールバックによってロックされているため、データベースを Single_user モードに設定できません。

このデータベースのデータの整合性については気にしません。インスタンス上の他のデータベースに影響を与えずに、データベースを削除するだけです。

既存のロールバック トランザクションをキャンセルし、データベースを完全に削除する方法はありますか?

答え1

はい、SQL MGMT スタジオの左ペインでサーバー名を右クリックしてアクティビティ モニターを有効にすることでこれを実行できます。

ここに画像の説明を入力してください

次に、テストDBに関連付けられているすべてのプロセスをフィルタリングしてプロセスを終了できます。

その後、テストDBを削除できます

注意: この方法は、使用中のデータベースやバックアップのないデータベースには適さない可能性があります。

SQL サービスを開始/停止することによってこれを実行することもできますが、これもデータが不要なテスト データベースにのみ適しています。

関連情報