Vantagens e Desvantagens do Page Verify no SQL Server
- #SQL Server
O PAGE_VERIFY no SQL Server é uma configuração de segurança/consistência no nível de banco de dados que ajuda a detectar corrupção de páginas de dados. Ele deve estar habilitado na maioria dos casos, mas vamos ver por que alguns não habilitam e por que normalmente é uma má ideia desabilitar.
É uma opção que define o mecanismo que o SQL Server usa para verificar a integridade das páginas de dados (ex: detectar corrupção de disco, memória, etc.).
Por que habilitar PAGE_VERIFY = CHECKSUM?
- Detecta corrupção silenciosa (ex: discos com fralha, bugs de driver, memória RAM com problema).
- Ajuda no restore e backup (O SQL Server avisa se detecta inconsistência).
- É recomendado pela Microsoft para ambientes de produção.
Desvantagem em desabilitar (ou deixar em NONE)
- Você perde a capacidade de detectar corrupção de dados.
- Backups podem ser feitos com páginas corrompidas sem aviso.
- Pode resultar em erros fatais em produção, sem aviso prévio.
As opções são:
- NONE: Sem verificação nenhuma (NUNCA recomendado)
- TORN_PAGE_DETECTION: Verificação parcial (antigo, usado até SQL Server 2005)
- CHECKSUM: Verificação completa com cálculo de checksum (recomendado)
Por que alguém poderia querer desabilitar (NONE)?
- Ganhar desempenho em ambientes muito antigos (Relevante em discos mecânicos lentos + SQL Server 2000)
- Desinformação ou herança de configurações antigas
-- Como checar quais bancos estão com PAGE_VERIFY desabilitado
SELECT name, page_verify_option_desc
FROM sys.databases
WHERE page_verify_option_desc <> 'CHECKSUM';
-- Comando para alterar(habilitar o PAGE_VERIFY = CHECKSUM)
ALTER DATABASE SeuBanco SET PAGE_VERIFY CHECKSUM;