Você está na página 1de 9

11/07/2023, 14:36 Criar um Plano de Manutenção do SQL Server - Training | Microsoft Learn

R Anterior Unidade 2 de 6 S Avançar T

" 100 XP

Criar um Plano de Manutenção do SQL


Server
15 minutos

Atividades comuns que você pode agendar para receber manutenção regular do SQL Server
incluem:

Backups de log de transações e de banco de dados


Verificações de consistência do banco de dados
Manutenção de índices
Atualizações de estatísticas

Você deve saber da importância dos backups, bem como da manutenção de índice e
estatísticas, de todos os seus bancos de dados. As verificações de consistência do banco de
dados, também conhecidas como CHECKDB (para o comando DBCC CHECKDB) também são
importantes, porque são a única maneira de verificar se há danos em um banco de dados
inteiro. Dependendo do tamanho dos seus bancos de dados e dos seus requisitos de tempo
de atividade, é possível executar todas essas atividades durante à noite. O mais comum em
sistemas de produção é as operações de manutenção serem distribuídas durante o curso da
semana, porque a manutenção do índice e as verificações de consistência são operações
intensivas de E/S e geralmente são feitas durante o fim de semana. Da mesma forma, muitos
DBAs distribuem backups de grandes bancos de dados e só fazem um backup completo por
semana. Os backups de log de transações e diferenciais podem ser usados para gerenciar a
recuperação para um ponto específico no tempo. O SQL Server oferece uma forma interna de
gerenciar todas essas tarefas usando planos de manutenção. Os planos de manutenção criam
um fluxo de trabalho das tarefas para dar suporte aos seus bancos de dados. Os planos de
manutenção são criados como pacotes de serviços de integração, que permitem que você
agende suas atividades de manutenção. Muitos DBAs também usam scripts open-source para
realizar a manutenção do banco de dados e para permitir mais flexibilidade e controle das
atividades de manutenção.

Melhores práticas para planos de manutenção


Além de permitir a execução da manutenção do banco de dados, os planos de manutenção
fornecem opções que permitem remover os dados do banco de dados msdb , que funciona
como o armazenamento de dados do SQL Server Agent. Os planos de manutenção também

https://learn.microsoft.com/pt-br/training/modules/schedule-tasks-using-sql-server-agent/2-create-maintenance-plan 1/9
11/07/2023, 14:36 Criar um Plano de Manutenção do SQL Server - Training | Microsoft Learn

permitem que você especifique que backups de banco de dados mais antigos devem ser
removidos do disco. Remover arquivos de backup antigos ajuda seu SQL Server reduzindo o
tamanho do volume de backup e ajuda a gerenciar o tamanho do msdb banco de dados.
Verifique se o período de retenção de backup é maior do que a janela de verificação de
consistência. Isso significa que, se você executar uma verificação de consistência semanal,
deverá reter oito dias de backups. (Observação: a operação de backup não detectará dados
corrompidos em um banco de dados, portanto, é possível existirem dados corrompidos em
um arquivo de backup). As atividades do plano de manutenção são agendadas como
trabalhos do SQL Server Agent para execução.

Criando um plano de manutenção


Você pode criar um plano de manutenção usando o SQL Server Management Studio,
conforme mostrado abaixo. No exemplo abaixo, várias tarefas de manutenção são
combinadas em um plano de manutenção. A melhor prática seria criar um plano de
manutenção para cada tipo de tarefa e até mesmo para um banco de dados específico em seu
servidor. Por exemplo, você pode criar um plano de manutenção para fazer backup de bancos
de dados do sistema e outro para fazer backup de bancos de dados de usuário. Você também
pode ter outro plano de manutenção para tratamento especial do backup de um banco de
dados de usuário muito grande. A imagem abaixo e os exemplos a seguir mostram a criação
de um plano de manutenção usando o assistente de plano de manutenção.

https://learn.microsoft.com/pt-br/training/modules/schedule-tasks-using-sql-server-agent/2-create-maintenance-plan 2/9
11/07/2023, 14:36 Criar um Plano de Manutenção do SQL Server - Training | Microsoft Learn

A imagem acima mostra a primeira tela do assistente de plano de manutenção do SQL Server
Management Studio (SSMS). Há algumas coisas que você deve observar: você precisa nomear
o seu plano de manutenção e especificar uma conta Executar como. Normalmente, a maioria
das operações de manutenção será executada como a conta de serviço SQL Server Agent, mas
talvez seja necessário executar uma tarefa como uma conta diferente por questões de
segurança. Por exemplo, se você precisar fazer backup em um compartilhamento de arquivos
que apenas uma conta específica tem acesso, você terá que executar esse plano específico
como um usuário diferente. Esse conceito é conhecido como um usuário proxy e é outro
componente do SQL Server Agent.

O que é uma conta proxy?


Uma conta proxy é uma conta com credenciais armazenadas que podem ser usadas pelo SQL
Server Agent para executar etapas de um trabalho como um usuário específico. As
informações de logon para esse usuário como armazenadas como uma credencial na instância
do SQL Server. Contas proxy normalmente são usadas quando são necessários direitos de
segurança muito granulares para etapas específicas de um trabalho do SQL Agent.

https://learn.microsoft.com/pt-br/training/modules/schedule-tasks-using-sql-server-agent/2-create-maintenance-plan 3/9
11/07/2023, 14:36 Criar um Plano de Manutenção do SQL Server - Training | Microsoft Learn

Agendas de trabalho
As agendas de trabalho são um componente do sistema de trabalho no msdb banco de dados
do sistema. Trabalhos e agendas do SQL Server Agent têm uma relação de muitos para
muitos. Cada trabalho pode conter vários agendamentos e a mesma agenda pode ser
atribuída a vários trabalhos. No entanto, o assistente de plano de manutenção não permite a
criação de agendamentos independentes. Ele cria uma agenda específica para cada plano de
manutenção, conforme mostrado abaixo:

A agenda acima é para uma execução semanal, mas você também tem a opção de criar uma
agenda com recorrência por hora ou diária. A próxima etapa é adicionar tarefas de
manutenção ao plano.

https://learn.microsoft.com/pt-br/training/modules/schedule-tasks-using-sql-server-agent/2-create-maintenance-plan 4/9
11/07/2023, 14:36 Criar um Plano de Manutenção do SQL Server - Training | Microsoft Learn

A imagem acima mostra a tela de adição de tarefas de manutenção. Nela você escolhe as
operações a serem executadas pelo seu plano de manutenção. As opções são:

Verificar integridade do banco de dados: esta tarefa executa o comando DBCC CHECKDB,
que valida o conteúdo de cada página do banco de dados para garantir sua consistência
lógica e física. Essa tarefa deve ser executada regularmente (diária ou semanalmente) e deve
alinhar-se à sua janela de retenção de backup. Para garantir que dados corrompidos não
sejam transferidos para seus backups, verifique se você concluiu com êxito uma verificação de
consistência antes de descartar os backups anteriores.

Reduzir o banco de dados – Essa tarefa reduz o tamanho do banco de dados ou do arquivo
de log de transações movendo dados para o espaço livre nas páginas. Quando espaço
suficiente é consumido, o espaço livre pode ser retornado ao sistema de arquivos.

7 Observação

É recomendável que você nunca Execute essa ação como parte de uma manutenção
regular, porque ela leva a uma fragmentação de índice grave que pode prejudicar o

https://learn.microsoft.com/pt-br/training/modules/schedule-tasks-using-sql-server-agent/2-create-maintenance-plan 5/9
11/07/2023, 14:36 Criar um Plano de Manutenção do SQL Server - Training | Microsoft Learn

desempenho do banco de dados. A própria operação também faz uso intensivo da E/S e
da CPU e pode afetar seriamente o desempenho do sistema.

Reorganizar/recompilar índice: essa tarefa verifica o nível de fragmentação nos índices de um


banco de dados e pode recriar ou reorganizar o índice com base no nível de fragmentação
definido pelo usuário. Observe que a recriação de um índice atualiza as estatísticas no índice.

Atualizar estatísticas: essa tarefa atualiza as estatísticas de coluna e de índice usadas pelo SQL
Server para criar planos de execução de consulta. É importante que as estatísticas reflitam com
precisão os dados armazenados em tabelas para que o otimizador de consulta possa tomar as
melhores decisões na criação de planos de execução. Essa tarefa permite que você escolha
quais tabelas e índices são verificados e a porcentagem ou o número de linhas verificadas. A
taxa de amostragem padrão é aceitável para a maioria dos objetos, embora você possa
desejar capturar estatísticas mais detalhadas para tabelas específicas.

Limpar histórico – Essa tarefa exclui o histórico de operações de backup e restauração do


banco de dados , bem como o histórico de trabalhos do SQL Server Agent. Essa tarefa é usada
para gerenciar o tamanho do msdb banco de dados.

Executar trabalho do SQL Server Agent: essa tarefa é usada para executar um trabalho do
SQL Server Agent definido pelo usuário.

Backup de Banco de dados (completo/diferencial/log): essa tarefa é usada para fazer backup
de bancos de dados em uma instância do SQL Server. Um backup completo faz o backup de
todo o banco de dados e serve como ponto de partida para uma restauração (você precisa de
um backup completo para restaurar completamente um banco de dados). Backups
diferenciais fazem backup das páginas no banco de dados que foram alteradas desde o último
backup completo e normalmente são usadas para fornecer um ponto de restauração
incremental. Os backups de log de transações fazem backup das páginas ativas em seu log de
transações e permitem que você defina seu objetivo de ponto de recuperação. Os backups de
log de transações não podem ser executados em bancos de dados no modo de recuperação
simples.

Confira esse exemplo do uso de diferentes tipos de backups: se você fez um backup completo
no domingo, um diferencial todas as noites da semana e desejar restaurar para o banco de
dados de meio-dia na quinta-feira, você precisa restaurar o backup completo do domingo e o
diferencial da quarta-feira até o meio-dia de quinta-feira.

Tarefas de limpeza de manutenção: essa tarefa remove arquivos antigos relacionados aos
planos de manutenção, incluindo relatórios de execução de plano de manutenção e arquivos
de backup. Ele remove apenas os backups em arquivos nas pastas especificadas, portanto, as
subpastas devem ser especificamente listadas ou então serão ignoradas.

https://learn.microsoft.com/pt-br/training/modules/schedule-tasks-using-sql-server-agent/2-create-maintenance-plan 6/9
11/07/2023, 14:36 Criar um Plano de Manutenção do SQL Server - Training | Microsoft Learn

Cada tarefa tem um escopo de bancos de dados de usuário, bancos de dados do sistema ou
uma seleção personalizada de bancos de dados. Além disso, cada tarefa tem suas próprias
opções de configuração específicas.

Depois de concluir a criação do plano de manutenção, você verá todos os detalhes do plano.
Você pode voltar para essa exibição no SQL Server Management Studio expandindo o nó de
gerenciamento e o nó planos de manutenção, clicando com o botão direito do mouse nesse
plano de manutenção e selecionando Modificar.

https://learn.microsoft.com/pt-br/training/modules/schedule-tasks-using-sql-server-agent/2-create-maintenance-plan 7/9
11/07/2023, 14:36 Criar um Plano de Manutenção do SQL Server - Training | Microsoft Learn

https://learn.microsoft.com/pt-br/training/modules/schedule-tasks-using-sql-server-agent/2-create-maintenance-plan 8/9
11/07/2023, 14:36 Criar um Plano de Manutenção do SQL Server - Training | Microsoft Learn

Após a criação, o plano será exibido como um trabalho no SQL Server Agent. Ao adicionar
uma agenda durante o processo de criação ou depois, o trabalho criado será executado e as
tarefas de manutenção serão realizadas.

Automação de multisservidor
Em um ambiente de multisservidor, o SQL Server Agent fornece a opção de designar um
servidor como um servidor mestre que pode executar trabalhos em outros servidores,
designados como servidores de destino. O servidor mestre armazena uma cópia mestra dos
trabalhos e distribui os trabalhos para os servidores de destino. Os servidores de destino se
conectam ao servidor mestre periodicamente para atualizar sua agenda de trabalhos. Isso
permite que você defina um trabalho e o implante em toda sua empresa. Um bom exemplo
disso seria configurar a manutenção do banco de dados em seu ambiente. Você pode criar um
conjunto de tarefas de plano de manutenção uma vez e permitir que elas sejam enviadas para
um grupo de servidores de destino, para garantir uma implantação consistente.

Unidade seguinte: Descrever as notificações de status da


tarefa

Continuar T

https://learn.microsoft.com/pt-br/training/modules/schedule-tasks-using-sql-server-agent/2-create-maintenance-plan 9/9

Você também pode gostar