web-dev-qa-db-ja.com

SQLServerでデータベースの縮小を実行する時間を見積もる方法

SQL Serverデータベースの縮小にかかる時間を概算する方法はありますか?推測を提供できるツールはありますか?

私たちは非常に大規模なデータベースを持っているので、データベースが利用できなくなる期間を知っておくとよいでしょう(たとえおおよその時間単位の見積もりであっても)。

前もって感謝します!

3

データベースの縮小は、インデックスとディスクの断片化を引き起こすため、めったに推奨されません。ファイルを縮小する必要がある場合、その操作はオンライン操作であり、データベースをオフラインにすることはまったくありません。

4
mrdenny

縮小を実行するために私が考えることができる唯一の正当な理由は、テーブルの圧縮をオフにしたか、空き領域が過剰に割り当てられていて、ディスク領域が不足している場合です。

データベースを他の同様のキットに復元し、同じ操作を実行します。
古いハードウェアであっても、少なくとも比較のためのベースラインがあります。

TRUNCATEONLYオプションを使用して縮小を実行する方法を見てください。これははるかに高速な操作であり、ページ移動を実行する必要なしに十分なスペースを解放する可能性があります。これがテーブルのロックの原因です。

2
Nick Kavadias

縮小が発生している間はデータベースが利用できなくなるとは思いません。これは、DBCC SHRINKDATABASE、DBCC SHRINKFILEの実行、およびSSMSからのデータベースやファイルの縮小の両方に当てはまると思います。縮小されている間、データベースはシングルユーザーモードになりません。私が知っている唯一の注意点は、バックアップ中にデータベースを縮小できないことです。

2
joeqwerty