次の方法で共有


メンテナンス プランの作成

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

このトピックの内容

はじめに

制限事項と制約事項

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

セキュリティ

アクセス許可

メンテナンス プランを作成または管理するには、 sysadmin 固定サーバー ロールのメンバーである必要があります。

SQL Server Management Studio を使用する

メンテナンス プラン ウィザードを使用してメンテナンス プランを作成するには

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

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

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

  4. ウィザードの手順に従って、メンテナンス プランを作成します。 詳細については、「 Use the Maintenance Plan Wizard」をご覧ください。

デザイン画面を使用してメンテナンス プランを作成するには

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

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

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

  4. 「メンテナンス プランの 作成 (メンテナンス プラン 設計画面)」の手順に従ってメンテナンス プランを作成します。

Transact-SQL の使用

メンテナンス プランを作成するには

  1. オブジェクト エクスプローラーで、 データベース エンジンのインスタンスに接続します。

  2. [標準] ツール バーの [新しいクエリ] をクリックします。

  3. 次の例をコピーしてクエリ ウィンドウに貼り付け、 [実行] をクリックします。

    USE msdb;  
    GO  
    --  Adds a new job, executed by the SQL Server Agent service, called "HistoryCleanupTask_1".  
    EXEC dbo.sp_add_job  
       @job_name = N'HistoryCleanupTask_1',   
       @enabled = 1,   
       @description = N'Clean up old task history' ;   
    GO  
    -- Adds a job step for reorganizing all of the indexes in the HumanResources.Employee table to the HistoryCleanupTask_1 job.   
    EXEC dbo.sp_add_jobstep  
        @job_name = N'HistoryCleanupTask_1',   
        @step_name = N'Reorganize all indexes on HumanResources.Employee table',   
        @subsystem = N'TSQL',   
        @command = N'USE AdventureWorks2012  
    GO  
    ALTER INDEX AK_Employee_LoginID ON HumanResources.Employee REORGANIZE WITH ( LOB_COMPACTION = ON )   
    GO  
    USE AdventureWorks2012  
    GO  
    ALTER INDEX AK_Employee_NationalIDNumber ON HumanResources.Employee REORGANIZE WITH ( LOB_COMPACTION = ON )   
    GO  
    USE AdventureWorks2012  
    GO  
    ALTER INDEX AK_Employee_rowguid ON HumanResources.Employee REORGANIZE WITH ( LOB_COMPACTION = ON )   
    GO  
    USE AdventureWorks2012  
    GO  
    ALTER INDEX IX_Employee_OrganizationLevel_OrganizationNode ON HumanResources.Employee REORGANIZE WITH ( LOB_COMPACTION = ON )   
    GO  
    USE AdventureWorks2012  
    GO  
    ALTER INDEX IX_Employee_OrganizationNode ON HumanResources.Employee REORGANIZE WITH ( LOB_COMPACTION = ON )   
    GO  
    USE AdventureWorks2012  
    GO  
    ALTER INDEX PK_Employee_BusinessEntityID ON HumanResources.Employee REORGANIZE WITH ( LOB_COMPACTION = ON )   
    GO  
    ',   
        @retry_attempts = 5,   
        @retry_interval = 5 ;   
    GO  
    -- Creates a schedule named RunOnce that executes every day when the time on the server is 23:00.   
    EXEC dbo.sp_add_schedule  
        @schedule_name = N'RunOnce',   
        @freq_type = 4,   
        @freq_interval = 1,   
        @active_start_time = 233000 ;   
    GO  
    -- Attaches the RunOnce schedule to the job HistoryCleanupTask_1.   
    EXEC sp_attach_schedule  
       @job_name = N'HistoryCleanupTask_1'  
       @schedule_name = N'RunOnce' ;   
    GO  
    
    

詳細については、次を参照してください。