web-dev-qa-db-ja.com

SQL Serverは古いエラーログファイルを削除しますか?

Sp_cycle_errorlogを実行することで、現在のエラーログを簡単に循環できることはわかっていますが、SQL Serverが古い/アーカイブされたエラーログファイルを削除するのではないかと思っています。これに対する答えがどこにも見つからないようです...

13
tuseau

SQL Server Management StudioObject Explorer> Managementでは、SQL Server Logsを右クリックしてConfigureを選択した場合に設定があります。保持するログファイルの数を指定できます。その数に達すると、古いものを削除し始めます。

enter image description here

20
Kenneth Fisher

SQL Serverを7回再起動します。まだ7つしかないことがわかりますERRORLOG*ファイル(バージョンによって異なります)。これは、現在のログファイルと最新の6つのログファイルです。

注:イベント SQL Serverが保持するエラーログの数を変更した場合、7を別のものに変更する必要がある場合があります 。最大は99だと思いますが、現在の設定が何であれ、最終的には古いファイルをリサイクルしてパージします。

私はこれをテストし、あなたが言うボックスのチェックを外すと:

errorリサイクルする前にエラーログファイルの数を制限する

...これは、(少なくとも私にとって)すべてのログファイルを保持することを意味します、それは現在のエラーログファイルと6つのバックアップのみを保持します@ RLFが指摘したレジストリキーを変更した場合、 の場合、レジストリキーの設定が上書きされます(ボックスをオフにしていない場合と同様)。ただし、 6から99までのいくつかのバックアップエラーログファイルに制限されます。

つまり、簡単な答えは次のとおりです。はい、すべての場合において、SQL Serverは最終的に古いエラーログファイルを削除します。

8
Aaron Bertrand

SQL Serverは、正しく構成する限り、エラーログを自動的にリサイクルします。

http://msdn.Microsoft.com/en-us/library/ms177285.aspx を参照してください。以下の要点をコピーしました:

オブジェクトエクスプローラーで、SQL Serverのインスタンスを展開し、[管理]を展開して、[SQL Serverログ]を右クリックし、[構成]をクリックします。

[SQL Serverエラーログの構成]ダイアログボックスで、次のオプションから選択します。

  • 再利用する前にエラーログファイルの数を制限する

    • チェックして、リサイクルされる前に作成されるエラーログの数を制限します。 SQL Serverのインスタンスが起動されるたびに、新しいエラーログが作成されます。このオプションをオンにしない限り、SQL Serverは以前の6つのログのバックアップを保持し、以下の異なる最大数のエラーログファイルを指定します。
  • エラーログファイルの最大数

    • リサイクルされる前に作成されるエラーログファイルの最大数を指定します。デフォルトは6です。これは、SQL Serverがリサイクルする前に保持する以前のバックアップログの数です。
7
Max Vernon

はい、維持するエラーログの数の設定があります。

次のレジストリキーにあります。

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSSQLServer\MSSQLServer\NumErrorLogs

このキーを追加する必要がある場合があります。

2
RLF