SQL Serverディストリビューションデータベースのログファイルがデータベースの完全バックアップ後に制御不能に増大する


8

8つのサブスクライバーにプッシュするマージレプリケーション環境があります。これは正常に動作しています。ディストリビューションデータベースは、シンプルリカバリモードでセットアップされています。毎日00:30にすべてのデータベースをバックアップする保守計画があります。このプロセスが完了すると、配布ログファイルは次の30分間で大きくなり、ハードドライブの残りのすべてのスペースを吸収します(約90GB)

その後、ディストリビューションデータベースが "回復保留中"と表示され、マシンを再起動するまで何もできなくなります。この後、ログファイルを2MBに縮小できます。

なぜこれが起こっているのか私にはわかりません。ログファイルは、日中約10MBで実行されます。データベースのサイズは15GBです。


2
保守計画は他に何をしていますか?そして、何でsys.databases.log_reuse_wait_desc値が中にログが成長する一方で、これらの30分?
Remus Rusanu 2013

データベースを回復保留状態にしているのは何ですか?フルバックアップを実行する必要はありません。
mrdenny 2013

1
わかりましたので、このジョブが「エージェント履歴のクリーンアップ:配布」を実行すると、ログファイルが大きくなるようです...このジョブの実行中にバックアップが実行されている可能性があります。それが問題を引き起こすかどうかはわかりません。履歴のクリーンアップを1時間早く実行するように設定しました。結果が表示されます
Koenyn 2013

インデックスの再構築はありますか?
Carol Baker West

回答:


2

レプリケーションで大量のトランザクションが発生しているようです。その場合、その「クリーンアップ:配布」ジョブはおそらくはるかに頻繁に実行されるはずです。1日に1回発生しているように聞こえます。トランザクション数が多いレプリケーションサーバーでは、15分ごとに実行して、最新の36時間だけを維持しています。そのようにして、それはそれ自身のペースを整え、落ち着きません。

ここに役立つかもしれない記事があります-http://www.sqlservergeeks.com/blogs/singhsatnam84/sql-server-bi/563/sql-server-controlling-growth-of-a-distribution-database


1
ええ、私たちは一日一回それを実行します。ログファイルのサイズを15 GBに制限しました。それは大きな助けになったようです。今はそれを切り捨てる必要はなく、サーバーはクラッシュしません。15分ごとにジョブを実行する際のリスクは何ですか?
Koenyn

クリーンアップは、単純なストアドプロシージャコールです。より頻繁に実行することで、バッチサイズは小さくなります。保持が正しく設定されていれば、私が発見したリスクはありません。私の経験では、レプリケーションの遅延を抑えています。dbo.sp_MSdistribution_cleanup
Cate Donoghue

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.