メンテナンス プラン
更新 : 2006 年 12 月 12 日
メンテナンス プランでは、データベースを最適化したり、データベースを定期的にバックアップしたり、データベースの不整合をなくしたりするために必要なタスクのワークフローを作成します。メンテナンス プラン ウィザードでも主要なメンテナンス プランを作成できますが、プランを手動で作成するとより柔軟性が高くなります。SQL Server 2005 データベース エンジンでは、メンテナンス プランによって、SQL Server エージェント ジョブが実行する Integration Services パッケージが作成されます。このようなメンテナンス タスクは、手動で実行することも、定期的に自動実行することもできます。
SQL Server 2005 メンテナンス プランには、次の機能が用意されています。
- さまざまな一般的なメンテナンス タスクを使用するワークフローの作成。カスタム Transact-SQL スクリプトを独自に作成することもできます。
- 概念的な階層。各プランでは、ワークフローの作成や編集を行えます。各プランのタスクはサブプランにグループ化できます。サブプランは、異なるタイミングで実行されるようにスケジュールを設定できます。
- マスタ サーバー/対象サーバー環境で使用できるマルチサーバーのプランのサポート。
- プランの履歴をリモート サーバーのログに記録する際のサポート。
- Windows 認証と SQL Server 認証のサポート。 可能な場合は、Windows 認証を使用します。
メンテナンス プランは、互換性レベルが 80 以上に設定されているデータベースに対してのみ実行されます。SQL Server Management Studio のメンテナンス プラン デザイナでは、互換性レベルが 70 以下に設定されているデータベースは表示されません。
SQL Server 2000 データベース メンテナンス プランを SQL Server 2005 プランに移行できます。移行するには、SQL Server 2000 データベース メンテナンス プランを右クリックし、[移行] をクリックします。詳細については、「SQL Server 2000 データベース メンテナンス プランを移行する方法」を参照してください。
メンテナンス プランの作成と管理およびオブジェクト エクスプローラでのメンテナンス プランの表示を行うには、sysadmin ロールのメンバである必要があります。オブジェクト エクスプローラの SQL Server エージェント ノードは、固定サーバー ロール sysadmin、固定データベース ロール SQLAgentReaderRole、SQLAgentUserRole、または SQLAgentOperatorRole のメンバだけに表示されます。
マルチサーバー環境でメンテナンス プランを作成または管理するための追加構成
対象サーバー (TSX) 上で SQL Server エージェントを実行するアカウントが、マスタ サーバー (MSX) 上で sysadmin 固定サーバー ロールのメンバとなっていない場合、配布されたメンテナンス プランをインポートするにはマスタ サーバー上でアカウントに次の権限を与える必要があります。
USE msdb;
GO
EXEC sys.sp_addrolemember @rolename = 'db_dtsoperator', @membername = 'TargetServersRole';
メモ : |
---|
TargetServersRole アカウントを db_dtsoperator ロールに追加すると、対象サーバー上で SQL Server エージェントを実行するアカウントでは、マスタ サーバー上の msdb に格納されているすべての SSIS パッケージを読み取ることができます。この内容には、パッケージ内に格納されているパスワードも含まれます。 |
この権限が与えられていない場合、メンテナンス プランを実行するマルチサーバーの SQL Server エージェント ジョブが対象サーバーで更新されると、対象サーバーの SQL Server エージェント ログに次のエラーが記録されます。
"メンテナンス プラン <NameOfMaintenancePlan> を <NameOfMasterServer> からインポートできませんでした。Microsoft.SqlServer.Dts.Runtime.DtsRuntimeException。SQL のフォルダを検索中に、OLE DB エラーが発生し、エラー コード 0x80040E09 (EXECUTE 権限がオブジェクト 'sp_dts_getfolder'、データベース 'msdb'、スキーマ 'dbo' で拒否されました) が返されました。"
これらの権限が変更された後は、対象サーバーで既存の配布済みメンテナンス プランをそれぞれ再読み込みする必要があります。各プランに小さな変更を加え、保存してください。こうすることで、対象サーバーではメンテナンス プランがマスタ サーバーから強制的に再読み込みされます。対象サーバーでは、既定により、ジョブがマスタ サーバーから 60 秒ごとに更新されます。メンテナンス プランを保存してから、そのプランが対象サーバー上に表示され実行可能になるまでには、少なくとも 120 秒の遅延があります。
メンテナンス プランの作成方法の詳細については、「メンテナンス プランを作成する方法」を参照してください。
参照
処理手順
マルチサーバー メンテナンス プランを作成する方法
メンテナンスのプランとサブプランを追加または削除する方法
概念
その他の技術情報
ヘルプおよび情報
変更履歴
リリース | 履歴 |
---|---|
2006 年 12 月 12 日 |
|
2006 年 7 月 17 日 |
|
2005 年 12 月 5 日 |
|