データベースの縮小とファイルの違いは何ですか?


回答:


36

単に...

  • DBCC ShrinkDatabase():すべてのファイルを縮小する
  • DBCC ShrinkFile():ただ1つのファイル

たとえば、ログバックアップの問題があり、制御不能になり、を実行する場合がありますDBCC ShrinkFile()

使用することはほとんどありませんShrinkDatabase

いずれかのコマンドの使用を検討する前に、縮小に関するPaul Randalのブログを読んでください。

明確な理由がない限り、どちらのファイル(mdf、ldf)も縮小しません。ファイルは、必要なサイズであるためです。通常のメンテナンスの一環としてそうすることを提案しているブログは、おそらくSQL Serverの動作を理解していないでしょう。


2
ありがとう。あなたが正しいです。私はブレント・オザーのブログを読んだばかりです。彼は彼のブログ「文字通りデータベースファイルの縮小をやめましょう。真剣に。今。」で誓っています。

そして、同じことをしているとき、なぜ異なる議論があるのですか?
ステファンSteinegger

2

デフォルトのデータベースには2つのファイルがあります

MyDb.MDFおよびMyDb.LDF

MDFファイルは、プライマリパーティションが存在するデータファイルです。ニーズに応じて、データベースを複数のファイルに分割できます。これは、データ(単一または複数のテーブル)が複数のファイルにまたがって、通常は別々のハードドライブに置かれ、より高いパフォーマンスを実現できるようにするためです。

データベースを縮小すると、そのデータベースに関連付けられているすべてのファイルが縮小されます。

ファイルを縮小すると、選択したファイルのみが縮小されます。

データベースの縮小コマンドのみを使用する必要があります。しかし、これを行うことは通常良い方法ではなく、推奨される方法でもありません。

発生している問題を教えてください、それを解決する方法に関する詳細情報を提供できます。


ああ、問題は、運用サーバーがディスク領域を使い果たしていることです。ディスクを追加するのが理想的ですが、他に何ができるのかと思っていましたか?

0

ほとんどの場合、dbcc shrinkfileのみを使用します。sp_helpdb 'databasename'は、データベース内のデータとログファイルのリストを提供します。

mnagement studioを右クリックすると、tasks-> shrink-> fileで縮小できる割合が表示されます。

何を縮小しても、空きスペースとしてディスク上で利用可能です。

例: 'databasename' dbcc shrinkfile(fileid、100)を使用します

ここで100は100 MBです

fileidはsp_helpdb 'databasename'から取得できます

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.