私は Ola Hallengrenのスクリプト を使用してデータベースをバックアップおよび保守しました。
ただし、msdb
などのsysjobhistory
内の特定のテーブルに対して、定義されたしきい値を超える断片化がある場合でも、インデックスの再作成や再編成操作は実行されません。これが私が使用しているスクリプトです:
EXECUTE dbo.IndexOptimize
@Databases = 'SYSTEM_DATABASES',
@FragmentationLow = NULL,
@FragmentationMedium = 'INDEX_REORGANIZE,INDEX_REBUILD_ONLINE,INDEX_REBUILD_OFFLINE',
@FragmentationHigh = 'INDEX_REBUILD_ONLINE,INDEX_REBUILD_OFFLINE',
@FragmentationLevel1 = 5,
@FragmentationLevel2 = 30,
@UpdateStatistics = 'ALL',
@OnlyModifiedStatistics = 'Y'
msdb
内のジョブ関連のテーブルはis_ms_shipped
としてマークされているため、OlaのスクリプトにMicrosoftが出荷したオブジェクトを考慮するように指示するには、追加のパラメーターが必要です。
@MSShippedObjects = N'Y'
(このパラメーターのデフォルトはN'N 'です。これは、ignoreMicrosoftが出荷したオブジェクトを意味し、文書化されています ここ 。)