ホームページ >バックエンド開発 >PHPチュートリアル >Microsoft SQL Server のログ ファイルが大きくなるのを防ぐにはどうすればよいですか? _PHP チュートリアル
MSSQL ログ ファイルのサイズを削減する方法はよくある質問ですが、この質問に対する本質的な部分にはすでに多くの回答があるため、ここでは詳しく説明しません。
それでは、基本的な問題、つまり、ログ ファイルが大きくなるのを防ぐ方法について説明しましょう。
まずは簡単な方法をご紹介します。
データベースの障害復旧モデルを「シンプル」(SQL2K)に設定することです。こうすることで、チェックポイント中にログが切り捨てられます。
具体的な操作方法は:
1. Enterprise Managerでデータベースを右クリックし、「プロパティ | オプション | 障害回復」を選択し、SQL7の場合は「プロパティ | オプション | 障害回復」を選択します。オプション「.log on chkpt.」を選択するだけです。
2. Enterprise Manager を使用したくない場合は、クエリ アナライザーまたは isql で
EXEC sp_dboption 'your_dbname', 'trunc.log on chkpt.', 'TRUE'
を実行することに注意してください。その後、ログのサイズは増加しませんが、一度間違いを犯すと、そのログを使用して回復する機会がなくなることも意味します。 (ログを使用して回復する方法については、本質領域の FAQ を参照してください)
したがって、十分な理由と十分な保証がある場合を除き、運用データベース上のログを切り捨てることは絶対にお勧めできません。責任を負う人。
この方法は安全ではないので、以下に安全な方法を紹介します。
ご存知のとおり、SQL Server はトランザクション ログのバックアップを完了するときに、トランザクション ログの非アクティブな部分を自動的に切り捨てます。これらの非アクティブなセクションには完了したトランザクションが含まれているため、回復プロセス中には使用されなくなります。対照的に、トランザクション ログのアクティブな部分には、まだ実行中であるがまだ完了していないトランザクションが含まれます。 SQL Server は、トランザクション ログが増大し続けてより多くの領域を占有することを許可するのではなく、トランザクション ログ内のこの切り詰められた非アクティブな領域を再利用します。
そのため、トランザクション ログをバックアップすることで、ログ ファイルが増大することはなくなります。
ただし、ログ ファイルを永久に保存することはできません。削除すると復元の可能性が失われます。
完全バックアップと組み合わせて実行できます。完全バックアップ前のトランザクション ログは削除できます。
たとえば、バックアップ プランでは、完全バックアップは 1 日に 1 回実行され、7 日間保持されます。また、トランザクション ログのバックアップは 15 分ごとに実行され、2 日間保持されます。
データベース メンテナンス プラン ウィザードを使用すると、バックアップ プランを簡単に作成できますが、バックアップを保持する期間を忘れずに設定する必要があります。そうしないと、ハード ディスクの容量がバックアップでいっぱいになった場合に問題が発生します。
作成者: Lucky@Dev-club
2002 年 3 月 8 日
http://www.bkjia.com/PHPjc/631146.html