2012-03-01 9 views
0

SQL Server 2005テーブルの大量のデータを削除したかった(約8000万レコード)。 begin tranを述べなければ、私はcolumnAがテーブルの主キーではありませんSQL Serverで削除操作を中止する

Delete from myTable 
where columnA > X' 

ように私の削除クエリを書きました。 4時間前から開始されていますが、まだ終了していません。同じような数の行と同様の状況で同様のシナリオでテストしましたが、操作は約70分で完了しましたが、メインサーバーはより強力ですが、4時間を過ぎると停止しません。データベースはFull recoveryモデルを提供するように構成されています。

対応するプロセスのSPIDを強制終了することで、この決して終わらない操作を停止できるかどうかを知りたいと思います。 SQL Serverは操作をロールバックし始めますか?データベースが中断されますか?解決策は何ですか?

答えて

2

はい、サーバは、このようなロールバックは通常、以前の動作に費やした時間よりも、終了するのより時間がかかり、

しかし

を削除操作をロールバックします。

DBは中断されませんが、テーブルのロックはロールバックが終了するまで保持されます。

関連する問題