Создание плана обслуживания
Область применения: SQL Server
В этой статье описывается, как создать один сервер или план обслуживания с несколькими серверами в SQL Server с помощью SQL Server Management Studio или Transact-SQL. С помощью Management Studio можно создать планы обслуживания одним из двух способов: с помощью мастера планов обслуживания или области конструктора. Мастер лучше подходит для создания простых планов обслуживания, а конструктор позволяет использовать расширенные возможности рабочего процесса с потоком операций.
ограничения
Для создания многосерверного плана обслуживания необходимо настроить многосерверную среду, содержащую один главный сервер и один или несколько целевых серверов. План многосерверного обслуживания необходимо создать и хранить на главном сервере. На целевых серверах эти планы можно просматривать, но нельзя хранить.
Необходимые компоненты
Параметр конфигурации сервера Agent XPs должен быть включен.
Разрешения
Для создания планов обслуживания и работы с ними пользователь должен быть членом предопределенной роли сервера sysadmin .
Использование SQL Server Management Studio
Создание плана обслуживания с помощью мастера планов обслуживания
В обозреватель объектов выберите знак "плюс", чтобы развернуть сервер, в котором требуется создать план обслуживания.
Выберите знак "плюс", чтобы развернуть папку "Управление ".
Щелкните правой кнопкой мыши папку Планы обслуживания и выберите пункт Мастер планов обслуживания.
Выполните предлагаемые мастером шаги, чтобы создать план обслуживания. Дополнительные сведения см. в статье Use the Maintenance Plan Wizard.
Создание плана обслуживания с помощью области конструктора
В обозреватель объектов выберите знак "плюс", чтобы развернуть сервер, в котором требуется создать план обслуживания.
Выберите знак "плюс", чтобы развернуть папку "Управление ".
Щелкните правой кнопкой мыши папку Планы обслуживания и выберите команду Создать план обслуживания.
Создайте план обслуживания, выполнив действия, описанные в разделе "Создание плана обслуживания ( область проектирования плана обслуживания)".
Использование Transact-SQL
Создание плана обслуживания
В обозревателе объектов подключитесь к экземпляру ядра СУБД.
На стандартной панели выберите пункт Создать запрос.
Скопируйте приведенный ниже пример в окно запроса и нажмите кнопку Выполнить.
В этом примере код создает ежедневное задание агента 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