Criar um plano de manutenção
Aplica-se a: SQL Server
Este artigo descrve como criar um plano de manutenção de servidor único ou multisservidor no SQL Server usando o SQL Server Management Studio ou o Transact-SQL. Usando o Management Studio, Há duas formas de criar planos de manutenção: por meio do Assistente de Plano de Manutenção ou da área de design. O Assistente é melhor para criar planos de manutenção básicos, enquanto que criar planos usando a área de design permite utilizar fluxo de trabalho aprimorado.
Limitações e restrições
Para criar um plano de manutenção multisservidor, é necessário configurar um ambiente multisservidor contendo um servidor mestre e um ou mais servidores de destino. Devem ser criados e mantidos planos de manutenção multisservidor no servidor mestre. Os planos podem ser exibidos, mas não mantidos, nos servidores de destino.
Pré-requisitos
A Opção Agent XPs de configuração do servidor deve estar habilitada.
Permissões
Para criar ou gerenciar planos de manutenção, é necessário ser membro da função de servidor fixa sysadmin.
Usar o SQL Server Management Studio
Criar um plano de manutenção usando o Assistente de Plano de Manutenção
No Pesquisador de Objetos, clique no sinal de adição para expandir o servidor em que você deseja criar um plano de manutenção.
Selecione o sinal de adição para expandir a pasta Gerenciamento.
Clique com o botão direito do mouse na pasta Planos de Manutenção e selecione Assistente de Plano de Manutenção.
Siga as etapas do assistente para criar um plano de manutenção. Para obter mais informações, consulte Use the Maintenance Plan Wizard.
Criar um plano de manutenção usando a área de design
No Pesquisador de Objetos, clique no sinal de adição para expandir o servidor em que você deseja criar um plano de manutenção.
Selecione o sinal de adição para expandir a pasta Gerenciamento.
Clique com o botão direito do mouse na pasta Planos de Manutenção e selecione Novo Plano de Manutenção.
Crie um plano de manutenção, seguindo as etapas em Criar um plano de manutenção (Área de Design do Plano de Manutenção).
Usar o Transact-SQL
Criar um plano de manutenção
No Pesquisador de Objetos, conecte-se a uma instância do Mecanismo de Banco de Dados.
Na barra Padrão, selecione Nova Consulta.
Copie e cole o exemplo a seguir na janela de consulta e selecione Executar.
Neste exemplo, o código cria um trabalho diário do SQL Agent que é executado às 23h30 (11h30 PM), que reorganiza todos os índices na tabela
HumanResources.Employee
no banco de dadosAdventureWorks2022
.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