Como o Mirror pode salvar a sua noite!!!
Olá pessoal, tudo certo?
Hoje vou compartilhar com vocês como o Database Mirroring pode salvar a sua noite, primeiramente precisamos entender o que é Database Mirroring e como o que ele funciona.
O que é Database Mirroring no Sql Server?
O Database Mirroring foi oficialmente disponibilizado a partir do SQL Server 2005 Service Pack 1 (SP1), database mirroring foi uma solução de software que permite aumentar a disponibilidade do seu ambiente.
O database mirroring permite que você tenha uma cópia idêntica do seu banco de dados em um outro servidor, essa cópia pode ser de forma síncrona ou assíncrona.

Mas o objetivo deste post é mostrar como o database mirroring pode te ajudar passar por um problema de corrupção de dados.
Uma bela noite o DBA vai embora para casa, feliz da vida depois de um dia produtivo, chega em casa e sai para dar uma corrida para manter a forma (“ainda estou no projeto dba fitness“), quando chega em casa e verifica no celular um alerta que existe uma base corrompida na sua principal instância.

Bom, comecei a atuar, primeiro passo foi verificar qual era o banco e qual pagina estava corrompida, essa informação você obtém na tabela suspect_pages na database MSDB, toda vez que o SQL Server identifica uma página, que ele suspeita que ela esta corrompida ele insere as informações na tabela.
Na tabela temos informações como o Database_id, File_id, Page_id, Event_type, Error_count e o Last_update_date.
Ao ver a mensagem já fiquei tranquilo porque o event_type = 5, quer dizer que a pagina foi recuperada, através do database mirroring ou do AlwaysOn, mas para confirmar procurei informações no log do SQL Server, e encontrei dois registros de informações um do servidor principal solicitando a pagina e a outra o mirror entregando a pagina.
Após as confirmações como um DBA medroso que sou, fiz mais um teste para ter certeza que a base estava integra, executei o DBCC Checkdb na base, o que confirmou que não tinha mais erro na base.
Concluindo, uma da funcionalidade do database mirroring é conseguir copiar uma página corrompida na base do espelho. Se você tem infraestrutura para configurar o database mirroring, vale muito configurar, pois você nem vai ter despesa com licenciamento e vai ter uma segurança maior em caso de corrupção de dados. Um ponto importante é database mirroring pode te ajudar a passar por momento de recuperação, mas sua maior garantia sempre será o backup.
Já conhece a comunidade de SQL Server no Espírito Santo? então venha conhecer http://www.tiagoneves.net/blog/comunidade-sql-server-es/
Bom por hoje é isso.
Um abraço,
Tiago Neves

Pois interessante Tiago, mostrando a utilidade e importância do Mirror. Valeu e sucesso!
Abraço.
Luiz Vitor
Thiago, muito legal!
Obrigado por compartilhar, é uma funcionalidade importante, e é sempre bom ter esse tipo de opção prá “salvar a noite”, ou quem sabe, o emprego! rsrs
Um abraço!