このトピックでは、SQL Server Management Studioまたは Transact-SQL を使用して、SQL Server 2014 で単一サーバーまたはマルチサーバーのメンテナンス プランを作成する方法について説明します。 Management Studio を使用すると、メンテナンス プラン ウィザードまたは設計画面を使用して、2 つの方法のいずれかでこれらのメンテナンス プランを作成できます。 基本的なメンテナンス プランを作成する場合は、ウィザードが最適です。それに対して、デザイン画面を使用してプランを作成すると、高度なワークフローを利用できます。
このトピックの内容
作業を開始する準備:
メンテナンス プランを作成するために使用するもの:
はじめに
制限事項と制約事項
マルチサーバー メンテナンス プランを作成するには、1 台のマスター サーバーと 1 台以上のターゲット サーバーを含むマルチサーバー環境を構成する必要があります。 マルチサーバー メンテナンス プランは、マスター サーバー上で作成および管理する必要があります。 このプランはターゲット サーバー上でも表示できますが、ターゲット サーバーでは管理できません。
セキュリティ
アクセス許可
メンテナンス プランを作成または管理するには、 sysadmin 固定サーバー ロールのメンバーである必要があります。
SQL Server Management Studio を使用する
メンテナンス プラン ウィザードを使用してメンテナンス プランを作成するには
オブジェクト エクスプローラーで、プラス記号をクリックして、メンテナンス プランを作成するサーバーを展開します。
プラス記号をクリックして [管理] フォルダーを展開します。
[メンテナンス プラン] フォルダーを右クリックし、 [メンテナンス プラン ウィザード] をクリックします。
ウィザードの手順に従って、メンテナンス プランを作成します。 詳細については、「 Use the Maintenance Plan Wizard」をご覧ください。
デザイン画面を使用してメンテナンス プランを作成するには
オブジェクト エクスプローラーで、プラス記号をクリックして、メンテナンス プランを作成するサーバーを展開します。
プラス記号をクリックして [管理] フォルダーを展開します。
[メンテナンス プラン] フォルダーを右クリックし、 [新しいメンテナンス プラン] をクリックします。
「メンテナンス プランの 作成 (メンテナンス プラン 設計画面)」の手順に従ってメンテナンス プランを作成します。
Transact-SQL の使用
メンテナンス プランを作成するには
オブジェクト エクスプローラーで、 データベース エンジンのインスタンスに接続します。
[標準] ツール バーの [新しいクエリ] をクリックします。
次の例をコピーしてクエリ ウィンドウに貼り付け、 [実行] をクリックします。
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
詳細については、次を参照してください。