Создание плана обслуживания

Применимо к:SQL Server

В этой статье описывается, как создать один сервер или план обслуживания с несколькими серверами в SQL Server с помощью SQL Server Management Studio или Transact-SQL. С помощью Management Studio можно создать планы обслуживания одним из двух способов: с помощью мастера планов обслуживания или области конструктора. Мастер лучше подходит для создания простых планов обслуживания, а конструктор позволяет использовать расширенные возможности рабочего процесса с потоком операций.

ограничения

Для создания многосерверного плана обслуживания необходимо настроить многосерверную среду, содержащую один главный сервер и один или несколько целевых серверов. План многосерверного обслуживания необходимо создать и хранить на главном сервере. На целевых серверах эти планы можно просматривать, но нельзя хранить.

Предварительные условия

Параметр конфигурации сервера Agent XPs должен быть включен.

Разрешения

Для создания планов обслуживания и работы с ними пользователь должен быть членом предопределенной роли сервера sysadmin .

Использование среды SQL Server Management Studio

Создание плана обслуживания с помощью мастера планов обслуживания

  1. В обозревателе объектов выберите знак плюса, чтобы развернуть сервер, в котором требуется создать план обслуживания.

  2. Выберите знак "плюс", чтобы развернуть папку "Управление ".

  3. Щелкните правой кнопкой мыши папку Планы обслуживания и выберите пункт Мастер планов обслуживания.

  4. Выполните предлагаемые мастером шаги, чтобы создать план обслуживания. Дополнительные сведения см. в статье Use the Maintenance Plan Wizard.

Создание плана обслуживания с помощью области конструктора

  1. В обозревателе объектов выберите знак плюса, чтобы развернуть сервер, в котором требуется создать план обслуживания.

  2. Выберите знак "плюс", чтобы развернуть папку "Управление ".

  3. Щелкните правой кнопкой мыши папку Планы обслуживания и выберите команду Создать план обслуживания.

  4. Создайте план обслуживания, выполнив действия, описанные в разделе "Создание плана обслуживания ( область проектирования плана обслуживания)".

Использование Transact-SQL

Создание плана обслуживания

  1. В обозревателе объектов подключитесь к экземпляру ядра СУБД.

  2. На стандартной панели выберите пункт Создать запрос.

  3. Скопируйте приведенный ниже пример в окно запроса и нажмите кнопку Выполнить.

    В этом примере код создает ежедневное задание агента SQL, которое выполняется в 23:30 (11:30 вечера), которое реорганизует все индексы HumanResources.Employee в таблице в AdventureWorks2022 базе данных.

    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 [AdventureWorks2022];
    GO
    ALTER INDEX [AK_Employee_LoginID]
    ON [HumanResources].[Employee]
    REORGANIZE
    WITH (LOB_COMPACTION = ON);
    GO
    USE [AdventureWorks2022];
    GO
    ALTER INDEX [AK_Employee_NationalIDNumber]
    ON [HumanResources].[Employee]
    REORGANIZE
    WITH (LOB_COMPACTION = ON);
    GO
    USE [AdventureWorks2022];
    GO
    ALTER INDEX [AK_Employee_rowguid]
    ON [HumanResources].[Employee]
    REORGANIZE
    WITH (LOB_COMPACTION = ON);
    GO
    USE [AdventureWorks2022];
    GO
    ALTER INDEX [IX_Employee_OrganizationLevel_OrganizationNode]
    ON [HumanResources].[Employee]
    REORGANIZE
    WITH (LOB_COMPACTION = ON);
    GO
    USE [AdventureWorks2022];
    GO
    ALTER INDEX [IX_Employee_OrganizationNode]
    ON [HumanResources].[Employee]
    REORGANIZE
    WITH (LOB_COMPACTION = ON);
    GO
    USE [AdventureWorks2022];
    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:30.
    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 [dbo].[sp_attach_schedule] @job_name = N'HistoryCleanupTask_1',
                                    @schedule_name = N'RunOnce';
    GO
    

Далее