top of page
Foto do escritorcaiobuzo

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!

324 visualizações1 comentário

Posts recentes

Ver tudo

1 Comment


ameliawillson87
Dec 18, 2024

As a professional who appreciates the importance of thorough checks in any field, I find the concept of a Health Check for DBAs incredibly valuable. Ensuring the health of a database environment is much like ensuring quality in academic writing. If you're looking for assistance with academic tasks, you can write my assignment easily and efficiently—just visit trusted services to get expert help.

Like
bottom of page