Usando planos de manutenção de banco de dados, podemos automatizar atividades básicas de administração de banco de dados. Os planos de manutenção são pacotes de serviço de integração do SQL Server que são executados pelo trabalho do SQL Server Agent no agendamento configurado. Usando planos de manutenção, podemos automatizar as seguintes tarefas.
- Reduzir um banco de dados
- Fazer backup de um banco de dados
- Notificação do operador
- Atualizar estatísticas do banco de dados
- Executar verificação de integridade do banco de dados
- Executar trabalhos do SQL Server Agent
- Executar script T-SQL
- Reorganizar ou reconstruir índices
Além disso, podemos configurar um alerta para notificar um DBA sobre o status da execução do plano de manutenção habilitando o Database Mail.
Neste artigo, explicarei como criar um plano de manutenção básico para realizar a verificação de consistência do banco de dados em um banco de dados de usuário.
Pré-requisitos para criar um plano de manutenção de banco de dados
Para criar um plano de manutenção de banco de dados, os pré-requisitos são os seguintes:
- Os serviços de integração devem ser instalados
- O SQL Server Agent Service deve estar em execução.
Os serviços de integração devem estar em execução
Como mencionei, os planos de manutenção de banco de dados são pacotes de serviços de integração do SQL Server, portanto, para executá-los, os serviços de integração devem ser instalados.
Para verificar se os serviços de integração foram instalados, abra o SQL Server Configuration Manager , selecione Serviços do SQL Server no painel esquerdo. Você pode visualizar a versão do serviço de integração no topo da lista.
Se os serviços de integração não foram instalados, instale-os usando o instalador do SQL Server. Veja este artigo para referência.
O serviço SQL Server Agent deve estar em execução
O Database Mail envia emails ou mensagens usando o SQL Server Agent Service. Se os Serviços do Agente não estiverem em execução, o SQL Server não poderá enviar emails. Enquanto o serviço do agente não estiver em execução, todas as mensagens serão enfileiradas e, quando o serviço do agente for iniciado, todas as mensagens enfileiradas serão entregues.
Para verificar o status do Serviço de Agente, execute o seguinte comando no SQL Server Management Studio.
use master go EXEC xp_servicecontrol N'querystate',N'SQLAgent$CMS'
A saída é a seguinte:
Se o SQL Server Agent Service não estiver em execução, devemos iniciá-lo. Para iniciar o SQL Server Agent Service, abra os serviços, vá para Painel de Controle , clique emFerramentas de administração e clique em Serviços . Na lista de serviços, procure SQL Server Agent . Clique com o botão direito do mouse em SQL Server Agent e selecione Iniciar .
Se você deseja enviar por e-mail o status do plano de manutenção, você deve habilitar o Database Mail e isso pode ser feito alterando os parâmetros de configuração da instância do banco de dados. Por padrão, o Database Mail recurso não está habilitado. Ele deve ser ativado alterando o valor de configuração de Database Mail XPs.
Para ativar o Database Mail , execute as seguintes consultas em sequência.
USE master Go EXEC sp_configure 'show advanced options', 1 --Enable advance option Go RECONFIGURE Go EXEC sp_configure 'Database Mail XPs,' 1 --Enable database Mail option Go RECONFIGURE Go EXEC sp_configure 'show advanced options', 0 --Disabled advanced option Go RECONFIGURE Go
Configuração de demonstração
Para esta demonstração, criarei um plano de manutenção para realizar a verificação de consistência do banco de dados no FileStream_Demo base de dados. O plano de manutenção será executado todos os domingos às 12h.
Versão do SQL Server :SQL Server 2017.
Software :SQL Server Management Studio.
Um plano de manutenção de banco de dados pode ser criado usando o Assistente de plano de manutenção ou usando a superfície de design do plano de manutenção. Em primeiro lugar, explicarei como criar o plano de manutenção usando o Assistente de plano de manutenção .
Crie um plano de manutenção usando o Assistente de plano de manutenção
Podemos criar vários planos de manutenção usando o Assistente de plano de manutenção de banco de dados . O assistente possui algumas tarefas de manutenção predefinidas que podem ser configuradas passo a passo.
Para criar um plano de manutenção usando o assistente, abra o SSMS, expanda Gerenciamento , clique com o botão direito do mouse em Plano de manutenção e selecione Assistente de plano de manutenção.
O Assistente de plano de manutenção caixa de diálogo é aberta, onde você pode ver o verão de tarefas que podem ser executadas usando o assistente. Você pode ignorá-lo e clicar em Avançar .
Na próxima caixa de diálogo, especifique o nome desejado e a descrição do plano de manutenção. Especifique o usuário ou conta que executa o plano de manutenção. Como mencionei, você pode criar vários planos de manutenção usando o assistente; esta caixa de diálogo contém uma opção para configurar o agendamento. Você pode executar todas as tarefas ao mesmo tempo ou pode especificar um único agendamento para todo o plano. Especifique o nome e a descrição desejados em Nome e Descrição caixas de texto. O SQL Server Agent executa o plano de manutenção se conta de serviço do SQL Server Agent é selecionado. Nosso plano será executado individualmente, portanto, selecione Programação única para todo o plano ou nenhuma programação .
Para configurar a programação, clique em Programar botão ao lado de Alterar caixa de texto. A Nova Agenda de Trabalho caixa de diálogo é aberta. Especifique o nome desejado em Nome caixa de texto. O plano de manutenção será executado semanalmente, portanto, selecione Recorrente no tipo de agendamento caixa suspensa. Conforme mencionado, o plano de manutenção é executado semanalmente, portanto, selecione Semanalmente na caixa suspensa e marque Domingo. A tarefa é executada às 00:00, portanto, digite 12:00:00 na caixa de texto correspondente. Clique em OK .
Depois que a programação estiver configurada, clique em Avançar em Selecionar propriedades do plano diálogo.
Em Selecionar tarefas de manutenção caixa de diálogo, selecione Verificar integridade do banco de dados caixa de seleção e clique em Avançar .
Se várias tarefas de manutenção tiverem sido configuradas, você poderá solicitá-las em Selecionar ordem de tarefa de manutenção diálogo. Apenas uma tarefa está configurada, então nenhuma ação é necessária aqui. Clique em Avançar .
Na próxima caixa de diálogo, selecione o nome do banco de dados onde a tarefa de manutenção será executada. Selecione o FileStream_Demo banco de dados dos Bancos de dados caixa suspensa e clique em Avançar .
Na próxima caixa de diálogo, selecione a opção de registro. Você pode gravar o status de execução do plano de manutenção em um arquivo de texto ou enviar um e-mail de alerta. Selecione a opção desejada e clique em Avançar .
Na próxima caixa de diálogo, você pode visualizar o resumo das tarefas executadas para criar o plano de manutenção. Revise-os e clique em Concluir .
Depois que o plano é criado, o Assistente de plano de manutenção conclui com sucesso.
Crie um plano de manutenção personalizado usando a superfície do Maintenance Plan Designer
Como expliquei, o Assistente de plano de manutenção tem algumas tarefas básicas pré-definidas que não dão mais opções de controle e personalização. Por exemplo, se você deseja executar um script SQL antes de executar qualquer tarefa de manutenção, ele não pode ser executado usando o assistente.
Para criar um plano de manutenção personalizado, abra o SQL Server Management Studio, expanda Gerenciamento , clique com o botão direito do mouse em Planos de manutenção e selecione Novo Plano de Manutenção .
Na caixa de diálogo, especifique o nome desejado do plano de manutenção e clique em OK .
O Designer do Plano de Manutenção abre. Tem duas seções. Na primeira seção, você pode especificar o nome e a descrição do plano de manutenção. Você pode alterar as propriedades do subplano existente ou adicionar os subplanos aos planos de manutenção existentes.
A descrição dos componentes individuais:
Quando você cria um novo plano de manutenção, o SQL cria um subplano padrão chamado Subplan_1 . Podemos editar as propriedades dele. Para editar o subplano padrão, clique em Editar propriedades do subplano botão. Como alternativa, selecione o subplano na visualização em grade e clique duas vezes nele. As Propriedades do subplano caixa de diálogo é aberta. Especifique o nome desejado do subplano e clique em OK .
Como mencionei anteriormente, criaremos um trabalho de manutenção para realizar a verificação de consistência do banco de dados. Arraste Tarefa de verificação de integridade do banco de dados do Plano de Manutenção caixa de ferramentas e vá para o Designer do Plano de Manutenção superfície.
Clique duas vezes em Tarefa de verificação de integridade do banco de dados . A tarefa Verificar integridade do banco de dados caixa de diálogo é aberta.
Na caixa de diálogo, selecione a conexão do SQL Server em Conexão caixa suspensa. Você também pode criar uma nova conexão clicando no botão Novo botão. Ao clicar nos Bancos de dados caixa suspensa, uma caixa de diálogo com várias opções é aberta. Você pode realizar verificações de consistência em:
- Todos os bancos de dados
- Somente bancos de dados do sistema (master, msdb, model, TempDB)
- Bancos de dados de usuários
- Bancos de dados específicos.
Você também pode ignorar a lista de bancos de dados que estão offline. Conforme mencionado, queremos realizar uma verificação de consistência no FileStream_Demo base de dados. Selecione FileStream_Demo dos Estes Bancos de Dados lista e clique em OK .
Quando a tarefa de verificação de integridade do banco de dados estiver concluída, agende seu tempo de execução. Para fazer isso, clique em Calendário botão na barra de ferramentas.
Como alternativa, você pode clicar duas vezes no subplano para abrir as propriedades e clicar no botão Calendário botão ao lado do Programação caixa de texto.
A Nova Agenda de Trabalho caixa de diálogo é aberta. Conforme mencionado, o trabalho deve ser executado todos os domingos às 12h, portanto, crie a programação de acordo. No Nome caixa de texto, especifique o nome desejado do trabalho, selecione o tipo de agendamento desejado. Na Frequência seção, selecione Semanalmente no Ocorre caixa de texto. O trabalho será executado uma vez por semana, portanto, selecione 1 em Recorre a cada caixa de texto. Abaixo, selecione Domingo . Na Frequência diária seção, especifique a hora na seção Ocorre uma vez às caixa de texto. O trabalho será executado às 00:00, portanto, insira 0:00:00 nele. E, finalmente, selecione a data de início do trabalho e clique em OK .
Depois que a programação for criada, você poderá ver o resumo da programação em Programação coluna da vista de grade do subplano.
Depois que o plano de manutenção for criado, salve-o. Você pode visualizar o plano de manutenção no Plano de manutenção diretório em Gerenciamento .
O SQL Server Agent Service executa o plano de manutenção; portanto, o cronograma do plano de manutenção está listado em Tarefa diretório. Para visualizá-lo, abra o SSMS, expanda SQL Server Agent e expanda Tarefas .
Você pode executar o plano de manutenção manualmente. Para fazer isso, clique com o botão direito do mouse no Plano de manutenção e clique em Executar .
O plano de manutenção é concluído com êxito. Você pode visualizar o relatório clicando em Relatório botão e selecionando o botão Visualizar relatório opção.
Você também pode mover a tarefa de manutenção existente para outro servidor exportando-a para o sistema de arquivos e implantando manualmente em outro servidor. Como mencionei, os planos de manutenção de banco de dados são pacotes de serviços de integração armazenados no banco de dados MSDB. Para exportar planos de manutenção para o sistema de arquivos, conecte-se aos serviços de integração usando o SQL Server Management Studio, expanda os Pacotes armazenados nó e expanda Planos de manutenção , clique com o botão direito do mouse no plano de manutenção chamado Tarefa de verificação de consistência do banco de dados e selecione Exportar pacote .
O Pacote de exportação caixa de diálogo é aberta. No Local do pacote caixa suspensa, selecione Sistema de arquivos . No Caminho do pacote caixa de texto, insira o local onde o plano de manutenção deve ser salvo e clique em OK.
O plano de manutenção será exportado para o local desejado.
Resumo
Neste artigo, expliquei:
- O que são planos de manutenção;
- Pré-requisitos para criar planos de manutenção;
- Como criar planos de manutenção personalizados;
- Como criar um plano de manutenção usando o assistente;
- Como exportar um plano de manutenção para o sistema de arquivos.
Ferramenta útil:
dbForge Studio for SQL Server – IDE poderoso para gerenciamento, administração, desenvolvimento, relatório e análise de dados do SQL Server.