2012-03-23 10 views
0

最近、本番データベースのバッチからテーブルデータを削除しましたが、SSMSの「ファイルを縮小」機能を使用してデータベースファイルを縮小しています。一部のデータベースでは50GB以上のデータが縮小されます。このプロセスには完了までに非常に時間がかかり、このプロセスが実行されている間はキャンセルボタンがないことに気付きました。私はRDP経由ですべてのデータベースサーバにリモート接続しており、トリム処理中に電源が切れないことを保証することはできません。SSMS 2008のデータベースファイル縮小プロセスを中断する

シュリ​​ンクプロセスが実行中で、サーバーの電源が再投入されると、データベースの破損が発生しますか?

答えて

2

停電時にはどのページが動いているかによってまったく異なると思います。あなたは大丈夫ですが、私のデータであれば、私は確かにサイコロを転がしたくありません。

1回の縮小操作(特にこのUIを使用する代わりに)を実行する代わりに、DBCC SHRINKFILEコマンドを使用して、一度に少量のファイルを縮小することができます。このオプションではターゲットサイズを設定できるので、短いバーストで繰り返しコマンドを実行できます。

ただし、これにより破損のリスクは軽減されますが、他の害を引き起こす可能性があります。断片化が増えています。最初にインデックスを再構築すると、より良い走行距離を得ることができます。次には、truncateonlyで縮小ファイルを実行しています。これは、リビルドがすべてのデータをファイルの先頭に向かって一緒に移動させた後に、ファイルの「終了」をクリアします。

2番目のデータファイルを独自のファイルグループに追加し、すべてのインデックスを新しいファイルグループに再構築した後、プライマリファイルを縮小すると、システム/メタデータオブジェクトそこに住む。