top of page

A Importância do Health Check para DBAs: Garantindo a Saúde do Ambiente de Banco de Dados

Fala galera! Todos bem!?!?! Bora falar hoje sobre Health Check.


Como DBA, você sabe que a saúde do ambiente de banco de dados é crucial para o funcionamento eficiente e seguro de qualquer sistema. O Health Check, ou "check-up", é uma ferramenta essencial para avaliar e diagnosticar a condição atual do seu ambiente. Neste post, exploraremos a importância do Health Check e os principais aspectos técnicos que devem ser abordados durante essa análise.


1. Segurança do Ambiente de Banco de Dados

Um dos aspectos mais críticos do Health Check é a avaliação da segurança do ambiente de banco de dados. Aqui estão alguns dos principais pontos técnicos que devem ser considerados:

  • Verificação das configurações de segurança, incluindo a habilitação do usuário 'sa' e suas respectivas senhas.

  • Avaliação da configuração de portas e firewall para garantir a proteção contra tentativas de invasão.

  • Análise da integridade das bases de dados para identificar possíveis problemas de corrupção e garantir a segurança dos dados.

Veja alguns exemplos de scripts que podem ser usados para coletar informações de segurança importantes em um ambiente de banco de dados SQL Server.

Verificar se o usuário 'sa' está habilitado

SELECT CASE

WHEN SERVERPROPERTY('IsIntegratedSecurityOnly') = 1 THEN 'Windows Authentication Only'

ELSE 'Mixed Mode Authentication'

END AS Authentication_Mode,

CASE

WHEN IS_SRVROLEMEMBER ('sysadmin') = 1 THEN 'Enabled'

ELSE 'Disabled'

END AS 'SA_Login_Enabled';

Verificar a política de alteração de senha do usuário 'sa'

Verificar se o Firewall do Windows está ativado

Verificar a porta de escuta padrão do SQL Server

Verificar a conta do serviço do SQL Server


2. Desempenho do banco de dados

O desempenho do sistema é outro aspecto crítico que o Health Check deve abordar. Aqui estão algumas das principais métricas técnicas que devem ser consideradas:

  • Avaliação da política de manutenção de índices, incluindo rebuilds e reorganizações, para garantir o desempenho ideal do banco de dados.

  • Verificação do tempo de execução de consultas e procedimentos armazenados para identificar possíveis gargalos de desempenho.

  • Análise do consumo de CPU e memória para otimizar a utilização dos recursos do servidor.

  • Indicadores como consumo de memória, CPU, Page life, batch requests, user connections, IOs.

  • Identificar maiores esperas (WAITS) da instância para tratar.

Estes scripts fornecerão insights importantes sobre o desempenho do seu ambiente de banco de dados

Verificar a fragmentação dos índices em todas as tabelas do banco de dados

USE [SeuBancoDeDados];

GO

SELECT

OBJECT_NAME(ps.object_id) AS 'Nome da Tabela',

i.name AS 'Nome do Índice',

ps.index_type_desc AS 'Tipo de Índice',

ps.avg_fragmentation_in_percent AS 'Fragmentação Média (%)'

FROM sys.dm_db_index_physical_stats(DB_ID(), NULL, NULL, NULL, NULL) ps

INNER JOIN sys.indexes i ON ps.object_id = i.object_id AND ps.index_id = i.index_id

WHERE ps.avg_fragmentation_in_percent > 10

ORDER BY ps.avg_fragmentation_in_percent DESC;

Verificar a data da última atualização das estatísticas das tabelas a mais de 90 dias

Verificar a quantidade de memória em buffer utilizada pelo SQL Server

Verificar os planos de execução em cache do SQL Server

Listar os top 5 waits na instância do SQL Server


3. Estratégias de Backup e Recuperação

O Health Check também deve incluir uma avaliação detalhada das estratégias de backup e recuperação do ambiente de banco de dados. Aqui estão algumas das principais considerações técnicas:

  • Verificação da frequência e integridade dos backups, incluindo backups completos, diferenciais e de log.

  • Avaliação da política de armazenamento de backups fora do ambiente de produção para garantir a resiliência do sistema em caso de falhas ou desastres.

  • Existência de testes dos procedimentos de recuperação para garantir a eficácia e confiabilidade dos backups.

Estes scripts podem ajudar a verificar quando os backups foram realizados pela última vez em cada banco de dados.


Verificar a última vez que os backups foram executados

SELECT

database_name AS 'Nome do Banco de Dados',

MAX(backup_finish_date) AS 'Último Backup Realizado'

FROM msdb.dbo.backupset

WHERE type = 'D' -- D para backup de banco de dados completo

GROUP BY database_name;

Verificar se os backups de log foram executados recentemente


Você pode ver mais detalhes sobre o assunto nesse vídeo do meu canal do youtube.



Concluindo

O Health Check é uma ferramenta essencial para DBAs que desejam garantir a saúde e segurança do ambiente de banco de dados. Ao abordar aspectos técnicos como segurança, desempenho e estratégias de backup, os DBAs podem identificar e resolver problemas antes que se tornem crises. Não deixe de realizar regularmente o Health Check em seu ambiente de banco de dados e garantir a continuidade operacional do seu sistema. Ele é essencial também quando você passa a administrar um ambiente novo, que não esta dentro das boas praticas, com esse panorama geral, você já sabe onde precisa atacar para resolver possíveis dores de cabeça.


Lembre-se: a prevenção é sempre melhor do que a correção. Invista tempo e recursos no Health Check e proteja o ambiente de banco de dados contra possíveis falhas e vulnerabilidades. As empresas agradecerão por isso.

Você pode reunir o seu pack de scripts pessoais para realizar esse trabalho ou alternativamente você pode utilizar um procedimento disponibilizado gratuitamente pelo Brent Ozar chamado sp_blitz, é uma procedure desenvolvida por ele que reúne dezenas de checagens em um único script, ele gera um log em um arquivo excel, é muito interessante e eu já usei várias vezes, recomendo!


Se você quer aprender muito mais e ser um(a) DBA SQL Server Jr faça parte da Iniciativa DBA (Saiba mais) !

Ebook 10 passos para ser um DBA SQL Jr (Saiba mais)!


Nos acompanhe em nossas redes sociais!

Grupo VIP Telegram: DBA On boarding 

Youtube: DBA On boarding 

Face & Instagram: DBA On boarding 


Até a próxima, tchau!

162 visualizações0 comentário

Posts recentes

Ver tudo

Comments


bottom of page