1

私はいくつかの MS SQL Server (Express) データベースの管理を任されています。私の主な DBA 経験は DB2 LUW と Oracle データベースであり、SQL Server がトランザクション ログを処理する方法を理解するのに苦労しています。

データベースを「完全」復旧モデルに設定し、100 MB のトランザクション ログ ファイルを事前に割り当てています。Windows スケジューラを使用して、毎日 00:00 に完全バックアップを実行し、02:00 から 2 時間ごとにログ バックアップを実行しています。

ログ バックアップを実行するとトランザクション ログ領域が自動的に解放されることは理解していましたが、そうではないようです。 (ゆっくりであれば)上昇します。

現在 5% であるため、まだパニック状態ではありませんが、SQL サーバーがこれを行う方法について混乱しています

完全バックアップに使用する TSQL ステートメント:

BACKUP DATABASE [xxx] TO DISK = N'E:\backups\xxx.bak' WITH DESCRIPTION = N'blah', RETAINDAYS = 7, NOFORMAT, NOINIT, NAME = N'blah', NOSKIP, REWIND, NOUNLOAD, STATS = 10, CHECKSUM

ログ バックアップの TSQL ステートメントは次のとおりです。

BACKUP LOG [xxx] TO DISK = N'E:\backups\xxx.trn' WITH DESCRIPTION = N'blah', RETAINDAYS = 7, NOFORMAT, NOINIT, NAME = N'blah', NOSKIP, REWIND, NOUNLOAD, STATS = 10, CHECKSUM

では、ログ スペースを解放するにはどうすればよいでしょうか。

ご意見をお寄せいただきありがとうございます。

4

1 に答える 1

0

dbcc sqlperf(logspace)ログ スペースのおおよその使用量を示します。通常、この値は実際の空き容量よりも高くなります (決して低くはありません)。この記事では、log space usedログ バックアップ後に が「0」に設定されない理由について簡単に説明しています: http://support.microsoft.com/kb/281879。そのため、使用されるログ スペースは最大 25% 増加し、その後、たとえば 5% に戻る可能性があります。log space used 値の増加について心配する必要はありません。定期的なログ バックアップがあるとすぐに、トランザクション ログに十分な空き容量ができます (1 つのトランザクションが 100 Mb のログ ファイルにまたがる場合を除きますが、これはあまり一般的ではないと思います)。

于 2012-09-19T12:55:53.807 に答える