2

データベース テーブルのログ ファイルが巨大です。テーブル自体は60MB程度ですが、ログファイルは2GB程度です。一時停止するなどして、このログ ファイルの増加を止める方法はありますか。私はテーブルにたくさん書いたことを知っているので、ログは巨大です。また、データベースのサイズを見てみると、ログファイルも含めて2.9GBくらいあります。

システム内のスペースを管理するために、ログ ファイルへの書き込みを停止する方法はありますか? ログの書き込みを停止することを検討する必要がありますか? それは良い考えですか?

4

2 に答える 2

9

ログの書き込みを完全に停止することはできません。また、できたとしても停止すべきではありません。できることは、特定の時点に復元できるようにするかどうかを決定することです。これが重要な場合は、完全復旧モデルを維持し、定期的なトランザクション ログ バックアップの実行を開始する必要があります。

ポイントインタイム リカバリが重要でない場合は、シンプル リカバリ モデルに切り替えることができます。

ALTER DATABASE dbname SET RECOVERY SIMPLE;

(a) 完全バックアップと少なくとも 1 回のログ バックアップを実行するか、(b) 単純な復旧モデルに切り替えると、ログ ファイルを適切なサイズに縮小できるはずです (実際に適切な答えはありません)。より多くの情報がなくても「合理的」です):

USE dbname;
GO
DBCC SHRINKFILE(dbname_log, 100); -- 100 MB

データベース管理者に関するこの質問も役に立ちます。

于 2012-08-21T23:46:46.637 に答える
1

トランザクション ログは SQL Server の基本的な部分であり、それなしでは機能しません。

これが開発マシン (実稼働ではない!) である場合は、リカバリ モードをシンプルに設定できます: ALTER DATABASE MyDB SET RECOVERY SIMPLE;

または、 DBCC SHRINKFILEを使用して定期的にファイルを圧縮することを検討してください。

于 2012-08-21T23:46:38.290 に答える