0

サイズが1677,25 MBのSQLサーバーデータベースがあります。詳細なDBサイズ情報は次のとおりです。

DB サイズ:1677.25 MB
未割り当て領域:343.09 MB

予約済み: 24488 KB データ: 18560 KB インデックス サイズ: 2632 KB 未使用: 3296 KB 行数: 74410

ご覧のとおり、それほど大きな DB ではありません。問題は、ログです。

ログ ファイルのサイズ: 1.311 GB

古いログを消去するにはどうすればよいですか? 最後の 3 か月は重要かもしれませんが、1.3 GB は本当に重要なサイズです。

4

1 に答える 1

5

まず、ログ ファイルがこれほど大きい理由を理解する必要があります。そのために次のクエリを使用できます。

SELECT name,log_reuse_wait_desc FROM sys.databases;

ログ ファイルの目的と、このクエリの結果を解釈する方法の詳細については、次の場所を参照してください。

http://sqlity.net/en/556/t-sql-tuesday-25-%E2%80%93-sql-server-tips-tricks/

最も可能性の高い原因は、データベースが "FULL" 復旧モードになっていることです。つまり、ログ バックアップを作成するまで、SQL Server はすべてのログ レコードを保持します。完全バックアップを取っても、これは変わりません。

ログ バックアップを取得した後、SQL Server はログ ファイル内の領域を再利用できます。その時点で、ログ ファイルをより適切なサイズに縮小することもできます。ポイント イン タイム リカバリが必要ない場合は、データベースをシンプル リカバリに切り替えることができます。こうすることで、SQL Server はトランザクション処理に必要な期間だけログ レコードを保持します。

ただし、上記の記事で説明されているように、レプリケーションの設定を忘れているなど、問題の原因が他にもある可能性があります。これについてさらに支援が必要な場合は、上記のクエリの結果を投稿してください。

于 2013-01-23T17:50:09.000 に答える