Loading…

Database Mirroring – Operation Mode High Performance – Parte 2

Olá Pessoal,

Neste post continuarei o teste do Operation Mode High Performance. Caso ainda não tenha visto o post anterior, sugiro que o leia antes de continuar:

Database Mirroring – Operation Mode High Performance – Parte 1

Nesse teste foi simulada uma falha com a parada do serviço do SQL Server do servidor A (Principal). Após a parada do servidor, o monitor do Mirror fica como abaixo:


Ao rodar uma query qualquer no servidor de mirror é gerado o erro abaixo:

Msg 955, Level 14, State 1, Line 2
Database Mirror1 is enabled for Database Mirroring, but the database lacks quorum: the database cannot be opened.  Check the partner and witness connections if configured.

Simulando um caso real do servidor A não voltar rapidamente e você ser pressionado a colocar o banco no ar o mais rápido possível, eu subi o servidor B (Mirror) como principal. Com esse Operation Mode, a única forma de fazer isso é com uma possível perda de dados utilizando o comando abaixo:

alter database mirror1 set partner force_Service_Allow_data_loss

Após subir a base do servidor B com o force_Service_Allow_data_loss, a database voltou a ficar disponível e continuou sendo utilizada normalmente.

Simulando uma continuação normal do banco de dados no servidor B, iniciei o loop de insert no mesmo. Nesse momento, o log da database mirror1 também começou a aumentar sem parar.

Após uma grande utilização do Servidor B, o pessoal da infraestrutura resolveu o problema do servidor A e o mesmo voltou a ficar online.

O servidor A subiu com a role Mirror e o servidor B assumiu a role Principal. Entretanto, as duas instâncias do mirror ficaram com o status Suspended conforme figura abaixo:

Para deixar o mirror online, tive que executar o comando abaixo no servidor B (Principal):

alter database mirror1 set partner resume

Após a execução desse comando o mirror ficou como na figura abaixo:

O loop que já estava rodando no servidor B desde quando ele ficou disponível e assumiu o papel de Principal, não parou por nenhum momento (mesmo com o Status do Mirror em Suspended), ou seja, os sistemas não caíram novamente quando o Servidor A ficou Online.

Lembrando que como o Operation Mode utilizado foi o High Performance e utilizei a opção force_Service_Allow_data_loss, alguns dados podem ter sido perdidos.

Até o próximo post com mais um teste desse Operation Mode.

Artigos Referências:

Série de Posts sobre Database Mirroring

Database Mirroring – Como alterar o Operation Mode

Database Mirroring – Operation Mode High Performance – Parte 1

Gostou desse Post?

Cadastre seu e-mail para receber novos Posts e curta minha Página no Facebook para receber Dicas de Leituras e Eventos sobre SQL Server.

Abraços,

Fabrício Lima

MCITP – Database Administrator

Consultor e Instrutor SQL Server

Trabalha com SQL Server desde 2006

Deixe uma resposta