約 6 か月間、いくつかのデータベースをログ配布してきましたが、現在のサイズは 20 ~ 60 GB です。ログは 5 分ごとに配布され、保持期間は 3 日間です。これらのログは、5 分ごとに約 18KB から 5MB まで変化します (小さい方が多くなります)。
MSDBData データベースが非常に大きくなっていることに気付きました (30GB)。これは正常ですか?
先日、(テスト) ログ配布データベースを削除するようになったとき、一見ログ配布履歴を削除しようとしている間に、30 分以上かかりました。ログ配布タスクを有効にすると、非常に高い IO が発生するようになりました。
sp_cleanup_log_shipping_history を実行してみました。これをスケジュールする必要があるのか、それとも自動的に実行するのか (?) は明確ではありませんが、数時間大量の IO が発生しましたが、MSDB のサイズは減少しませんでした (ディスクで使用される物理スペースではなく、テーブル サイズを調べます)。いくつかの行が削除されたようです。
私の知る限り、ログ配布にかかる時間は主に、問題を引き起こしているこの SP への呼び出しです。
現在、log_shipping_monitor_error_detail テーブルには 15293932 行があり、log_shipping_monitor_history_detail には 15350276 行があります。エラーは、後でログを削除する権限が不十分であったことが原因でした。
これをさらに診断する方法、「通常の」動作はどうあるべきか、これを再び発生させるためのメンテナンス タスクとして何をスクリプト化できるかについて、誰か提案はありますか?
(これがここに投稿されたものか、ServerFault に投稿されたものかはわかりませんが、ログ配布に関する質問が他にもありました!)