msdb のサイズが大きい場合の対処法

SQL Server の msdb (msdbdata.mdf や msdblog.ldf)*1 を小さくしたい時は、 SQL Server 2005 のデータベース チューニング アドバイザ (DTA) クリーンアップ スクリプトの説明に記載されているスクリプトを実行すれば OK です。

大きくなる原因は、データベース チューニング アドバイザのログです。 DTA_tuninglog や DTA_reports_query テーブルにチューニングログがたまり続けた結果、容量が大きくなってしまいます。

基本的な対処法は、 msdb の「DTA_.*」テーブルを TRUNCATE することです。自分で記述するのが手間な場合は、前述の SQL Server 2005 のデータベース チューニング アドバイザ (DTA) クリーンアップ スクリプトの説明が使用できます*2

「DTA_.*」テーブルを削除した後は、 msdb を圧縮すればサイズが小さくなり作業完了になります。

*1:システムデータベースの 1 つ

*2:このスクリプトの目的は別にありますが、ログを削除する TRUNCATE が含まれ、副作用もないので、このまま実行して大丈夫です。