メンテナンス計画の作成 (メンテナンス計画デザイン領域)

適用対象:SQL Server

この記事では、SQL Server でメンテナンス計画デザイン領域を使用して、単一サーバーまたはマルチサーバーのメンテナンス計画を作成する方法について説明します。 基本的なメンテナンス プランを作成する場合は、 メンテナンス プラン ウィザード が最適です。それに対して、デザイン画面を使用してプランを作成すると、高度なワークフローを利用できます。

制限事項と制約事項

マルチサーバー メンテナンス プランを作成するには、1 台のマスター サーバーと 1 台以上のターゲット サーバーを含むマルチサーバー環境を構成する必要があります。 マルチサーバー メンテナンス プランは、マスター サーバー上で作成および管理する必要があります。 このプランはターゲット サーバー上でも表示できますが、ターゲット サーバーでは管理できません。

db_ssisadmin ロールおよび dc_admin ロールのメンバーは、特権を sysadminに昇格できる可能性があります。 このような特権の昇格が発生するのは、それらのロールが統合サービス パッケージを変更できるからです。これらのパッケージは、SQL Server が SQL Server エージェントの sysadmin セキュリティ コンテキストを使用して実行できます。 メンテナンス計画、データ コレクション セット、およびその他の統合サービス パッケージの実行時にこの特権の昇格を防ぐには、特権が制限されたプロキシ アカウントを使用するようにパッケージを実行する SQL Server エージェント ジョブを構成するか、db_ssisadmin ロールおよび dc_admin ロールには sysadmin メンバーのみを追加するようにします。

アクセス許可

メンテナンス プランを作成または管理するには、 sysadmin 固定サーバー ロールのメンバーである必要があります。 ユーザーが sysadmin 固定サーバー ロールのメンバーである場合のみ、オブジェクト エクスプローラーに [メンテナンス プラン] ノードが表示されます。

メンテナンス計画デザイン領域を使用する

メンテナンス計画の作成

  1. オブジェクト エクスプローラーでプラス記号を選択して、メンテナンス計画を作成するサーバーを展開します。

  2. プラス記号を選択して [管理] フォルダーを展開します。

  3. [メンテナンス プラン] フォルダーを右クリックし、 [新しいメンテナンス プラン]をクリックします。

  4. [新しいメンテナンス計画] ダイアログ ボックス内の [名前] ボックスにプランの名前を入力し、[OK]を選択します。 ツールボックスと [maintenance_plan_name[デザイン]] 画面が開き、 Subplan_1 サブプランがメイン グリッドに作成されます。

    デザイン領域のヘッダーには、次のオプションがあります。

    • [サブプランの追加]

      構成できるサブプランを追加します。

    • [サブプランのプロパティ]

      メイン グリッドで選択されたサブプランについて、 [サブプランのプロパティ] ダイアログ ボックスを表示します。 グリッドでサブプランをダブルクリックして、 [サブプランのプロパティ] ダイアログ ボックスを表示することもできます。 このダイアログ ボックスに関する詳細は、この記事の後半に記載してあります。

    • [選択したサブプランの削除]

      選択されているサブプランを削除します。

    • [サブプランのスケジュール]

      選択されているサブプランの [新しいジョブ スケジュール] ダイアログ ボックスを表示します。

    • [スケジュールの削除]

      選択されているサブプランからスケジュールを削除します。

    • 接続の管理

      [接続の管理] ダイアログ ボックスが表示されます。 メンテナンス計画に SQL Server インスタンス接続を追加する際に使用します。 このダイアログ ボックスに関する詳細は、この記事の後半に記載してあります。

    • [レポートとログ記録]

      [レポートとログ記録] ダイアログ ボックスを表示します。 このダイアログ ボックスに関する詳細は、この記事の後半に記載してあります。

    • サーバー

      [サーバー] ダイアログ ボックスが表示されます。このダイアログ ボックスで、サブプラン タスクを実行するサーバーを選択します。 このオプションは、マルチサーバー環境のマスター サーバーのみで有効になります。 詳細については、「マルチサーバー環境の作成」と「メンテナンス計画 (サーバー)」を参照してください。

    • 名前

      メンテナンス プランの名前が表示されます。 新しいメンテナンス プランの名前は、メンテナンス プラン デザイナーを開く前にダイアログ ボックスで指定します。 メンテナンス プランの名前を変更するには、オブジェクト エクスプローラーでプランを右クリックし、 [名前の変更]をクリックします。

    • 説明

      メンテナンス プランの説明を表示または指定します。 説明の長さは最大 512 文字です。

    • デザイナー画面

      メンテナンスプランのデザインとメンテナンスを行います。 デザイナー画面を使用して、プランへのメンテナンス タスクの追加、プランからのタスクの削除、タスク間の優先順位制約の指定、タスクの分岐および並列処理の指定を行います。

    2 つのタスクの間にある優先順位制約により、タスク間の関係が確立されます。 1 番目のタスク ( 先行タスク) の実行結果が指定の条件を満たした場合のみ、2 番目のタスク ( 依存タスク) が実行されます。 一般的に指定される実行結果は、 [成功][失敗][完了]のいずれかです。 詳細については、下記の「手順 8 」を参照してください。

  5. デザイン領域のヘッダーで、 [Subplan_1] をダブルクリックし、 [サブプランのプロパティ] ダイアログ ボックスにサブプランの名前と説明を入力します。

    [サブプランのプロパティ] ダイアログ ボックスでは、次のオプションを使用できます。

    • 名前

      サブプランの名前です。

    • 説明

      サブプランの簡潔な説明です。

    • スケジュール

      どのようなスケジュールでサブプランが実行されるかを示します。 [サブプラン スケジュール] を選択し、[新しいジョブ スケジュール] ダイアログ ボックスを開きます。 サブプランからスケジュールを削除するには、[スケジュールの削除] を選択します。

    • [実行するアカウント名] 一覧

      このサブタスクを実行するために使用するアカウントを選択します。

  6. [サブプラン スケジュール] を選択し、[新しいジョブ スケジュール] ダイアログ ボックスでスケジュールの詳細を入力します。

  7. サブプランを作成するには、 ツールボックス からデザイン画面にタスク フロー要素をドラッグ アンド ドロップします。 タスクをダブルクリックしてダイアログ ボックスを開き、タスクのオプションを構成します。

    [ツールボックス]では、次のメンテナンス プランのタスクを使用できます。

    • データベースのバックアップ タスク
    • データベースの整合性確認タスク
    • SQL Server エージェント ジョブの実行タスク
    • T-SQL ステートメントの実行タスク
    • 履歴クリーンアップ タスク
    • メンテナンス クリーンアップ タスク
    • オペレーターへの通知タスク
    • インデックスの再構築タスク
    • インデックスの再編成タスク
    • データベースの圧縮タスク
    • 統計の更新タスク

    タスクを [ツールボックス]に追加するには:

    1. [ツール] メニューで [ツールボックス アイテムの選択] を選択します。

    2. [ツールボックス]に表示するツールを選択し、[OK]を選択します。

    メンテナンス プランのタスクを [ツールボックス] に追加すると、 メンテナンス プラン ウィザードで使用できるようになります。 上記の個々のタスクの詳細については、「 メンテナンス プラン ウィザードの起動 」の「 メンテナンス プラン ウィザードの使用」を参照してください。

  8. タスク間のワークフローを定義するには:

    1. 先行タスクを右クリックし、 [優先順位制約の追加]をクリックします。

    2. [制御フロー] ダイアログ ボックスで、[対象] 一覧から依存タスクを選択し、[OK]を選択します。

    3. 2 つのタスク間のコネクタをダブルクリックすると、[優先順位制約エディター] ダイアログ ボックスが開きます。

      [優先順位制約エディター] ダイアログ ボックスでは次のオプションを使用できます。

      • [制約オプション]

        2 つのタスク間の制約の動作を定義します。

      • [評価操作] 一覧

        優先順位制約で使用する評価操作を指定します。 操作は次のとおりです: [制約][式][式と制約][式または制約]

      • [値] 一覧

        制約値として次の値を指定します: [成功][失敗][完了] 。 デフォルト値は[成功] です。

        Note

        優先順位制約を表す線は、 [成功]の場合は緑色、 [失敗]の場合は赤色、 [完了]の場合は青色です。

      • Expression

        操作として [式][式と制約]、または [式または制約]を使用する場合は、式を入力します。 式はブール値に評価される必要があります。

      • テスト

        式を検証します。

      • [複数の制約]

        複数の制約がどのように相互運用して制約付きタスクの実行を制御するかを定義します。

      • 論理積

        同一の実行可能ファイルに対して、複数の優先順位制約を同時に評価することを指定する場合に選択します。 すべての制約が Trueに評価される必要があります。 これは既定のオプションです。

        Note

        この種類の優先順位制約は、緑色、赤色、または青色の実線で示されます。

      • 論理和

        同一の実行可能ファイルに対して、複数の優先順位制約を同時に評価することを指定する場合に選択します。 少なくとも 1 つの制約が Trueに評価される必要があります。

        Note

        この種類の優先順位制約は、緑色、赤色、または青色の点線で示されます。

  9. 別のスケジュールで実行されるタスクを含む別のサブプランを追加するには、ツール バーの [サブプランの追加] を選択し、[サブプランのプロパティ] ダイアログ ボックスを開きます。

  10. 別のサーバーに接続を追加するには:

    1. デザイン空間のツール バーで、[接続の管理]を選択します。

    2. [接続の管理] ダイアログ ボックスで [追加] を選択します。

    3. [接続プロパティ] ダイアログ ボックスの [接続名] ボックスに、作成する接続の名前を入力します。

    4. [SQL Server データに接続するための情報を指定してください][サーバー名の選択または入力] ボックスで、使用する SQL Server インスタンス名を入力するか、参照ボタン ([...]) を選択して [SQL Server] ダイアログ ボックスでサーバーを選択します。 [SQL Server] ダイアログ ボックスでサーバーを選択した場合は、[OK]を選択します。

    5. [サーバーにログオンするための情報の入力]で、 [Windows NT の統合セキュリティを使用する] または [特定のユーザー名とパスワードを使用する]を選択します。 特定のユーザー名とパスワードを使用するように選択した場合は、 [ユーザー名] および [パスワード] ボックスにそれぞれ情報を入力します。

    6. [接続プロパティ] ダイアログ ボックスで、[OK]を選択します。

    7. [接続の管理] ダイアログ ボックスで、[閉じる]を選択します。

  11. レポート オプションを指定するには:

    1. デザイン空間のツール バーで [レポートとログ記録]を選択します。

    2. [レポートとログ記録] ダイアログ ボックスの [レポート]で、 [テキスト ファイルのレポートを生成する] または [電子メール受信者にレポートを送信する] 、あるいはその両方を選択します。

      1. [テキスト ファイルのレポートを生成する]で、 [新しいファイルの作成] または [ファイルに追加]を選択します。

      2. 上記の選択内容に応じて、 [フォルダー] または [ファイル名] ボックスに情報を入力することにより、新しいファイルまたは追加されるファイルの名前および完全なパスを入力します。 または、参照ボタン ([...]) を選択し、[フォルダーの参照 –server_name] または [データベース ファイルの参照 –server_name] ダイアログ ボックスで、フォルダーへのパスまたはファイル名を選びます。

      3. [エージェント オペレーター]一覧で [電子メール受信者にレポートを送信する] を選択した場合は、電子メール レポートの受信者を選択します。

        Note

        メールを送信するためには、データベース メールを使用するように SQL Server エージェントを構成する必要があります。 詳細については、「 Configure SQL Server Agent Mail to Use Database Mail」をご覧ください。

    3. より詳細な情報を保存するには、 [ログ記録]で、 [拡張情報をログに記録する]をオンにします。

    4. メンテナンス計画の結果情報を別のサーバーに書き込むには、[リモート サーバーにログを記録する] をオンにし、[接続] 一覧からサーバー接続を選択するか、または [新規] を選択して [接続プロパティ] ダイアログ ボックスに接続情報を入力します。

    5. [レポートとログ記録] ダイアログ ボックスで、[OK]を選択します。

  12. ログ ファイル ビューアーで結果を参照するには、 オブジェクト エクスプローラー[メンテナンス プラン] フォルダーを右クリックするか、特定のメンテナンス プランを右クリックして [履歴の表示]を選択します。

    [ログ ファイルの表示 –server_name] ダイアログ ボックスでは、次のオプションを使用できます。

    • [ログの読み込み]

      読み込むログ ファイルを指定できるダイアログ ボックスが開きます。

    • エクスポート

      [ログ ファイルの概要] グリッドに表示されている情報をテキスト ファイルとしてエクスポートするためのダイアログ ボックスが開きます。

    • 最新の情報に更新

      使用できるサーバーの一覧を表示します。

    • Assert

      [接続][日付] などの [全般] フィルター基準を含め、ログ ファイルのフィルター選択に使用する設定を指定できるダイアログ ボックスが開きます。

    • Search

      ログ ファイル内で特定のテキストを検索します。 ワイルドカード文字を使用した検索はサポートされません。

    • Stop

      ログ ファイル エントリの読み込みを停止します。 たとえば、最新のエントリのみを表示したい場合に、リモートまたはオフラインのログ ファイルの読み込みに長い時間がかかるときは、このオプションを使用することをお勧めします。

    • [ログ ファイルの概要]

      この情報パネルには、ログ ファイルのフィルター選択の概要が表示されます。 ファイルがフィルター選択されない場合、「フィルターが適用されていません」と表示されます。 ログにフィルターが適用されている場合、「ログ エントリのフィルター条件:<フィルター条件>」と表示されます。

    • 日付

      イベントの日付が表示されます。

    • ソース

      サービスの名前 (たとえば MSSQLSERVER) など、イベントの作成元のソース機能が表示されます。 ログの種類によっては表示されません。

    • メッセージ

      イベントに関連付けられているメッセージがすべて表示されます。

    • [ログの種類]

      イベントが属するログの種類が表示されます。 [ログ ファイルの概要] ウィンドウには、選択したログがすべて表示されます。

    • [ログ ソース]

      イベントがキャプチャされているソース ログの説明が表示されます。

    • [選択した行の詳細]

      行を選択すると、選択されたイベント行の詳細情報がページの下部に表示されます。 列をグリッド内の別の場所にドラッグすることで、列を並べ替えることができます。 グリッドのヘッダーで列のセパレーター バーを左右にドラッグすると、列の幅を変更できます。 グリッドのヘッダーで列のセパレーター バーをダブルクリックすると、内容の長さに合わせて自動的に列の幅が調整されます。

    • インスタンス

      イベントが発生したインスタンスの名前です。 これは、 computer name\instance nameと表示されます。