Database Mirroring – Como alterar o Operation Mode
Fala Pessoal,
Nesse primeiro teste, realizei todas as alterações de Operations Mode possíveis em um Database Mirroring.
Os 3 operations mode possíveis são:
- High Safety with Automatic Failover.
- High Safety without Automatic Failover.
- High Performance.
Para acompanhar as alterações, utilizei a query abaixo após cada alteração de status do Mirror:
SELECT db.name, mirroring_state_desc, mirroring_safety_level_desc,mirroring_witness_state_desc
FROM sys.database_mirroring m
JOIN sys.databases db ON db.database_id = m.database_id
where name = ‘Mirror1’ –Nome da database espelhada
Teste 1: High Safety with Automatic Failover => High Safety without Automatic Failover
Para realizar essa alteração, o comando abaixo deve ser executado:
USE [master]
GO
ALTER DATABASE [Mirror1] SET WITNESS OFF
Conferindo com a query de acompanhamento, temos o resultado:
Safety_Level FULL + Witness_State UNKNOWN = High Safety without Automatic Failover
Volta: High Safety without Automatic Failover => High Safety with Automatic Failover
Para identificar o servidor de Witness, deve-se executar um IPCONFIG /all e pegar as informações de HostName e Primary DNS Suffix:
- Host Name: Ambiente5
- Primary DNS Suffix: lab.local
- Completando a string tempos a porta utilizada pelo Endpoint desse servidor: 5024
Para adicionar um servidor de WITNESS em um Database Mirroring, o comando abaixo deve ser executado:
USE [master]
GO
ALTER DATABASE [Mirror1] SET WITNESS = N’TCP://Ambiente5.lab.local:5024′
Resultado após a alteração:
Safety_Level FULL + Witness_State CONNECTED = High Safety without Automatic Failover
Teste 2: High Safety with Automatic Failover => High Performance
Para realizar essa alteração, os comandos abaixo devem ser executados:
USE [master]
ALTER DATABASE [Mirror1] SET WITNESS OFF
GO
ALTER DATABASE [Mirror1] SET SAFETY OFF
Resultado após a alteração:
Safety_Level OFF + Witness_State UNKNOWN = High Performance
Volta: High Performance =>High Safety with Automatic Failover
Para realizar essa alteração, os comandos abaixo devem ser executados:
USE [master]
GO
ALTER DATABASE [Mirror1] SET SAFETY FULL
GO
ALTER DATABASE [Mirror1] SET WITNESS = N’TCP://Ambiente5.lab.local:5024′
GO
Resultado após a alteração:
<
Safety_Level FULL + Witness_State CONNECTED = High Safety with Automatic Failover
Teste 3 – High Safety without Automatic Failover => High Performance
Para realizar essa alteração, o comando abaixo deve ser executado:
USE [master]
GO
ALTER DATABASE [Mirror1] SET SAFETY OFF
Resultado após a alteração:
Safety_Level OFF + Witness_State UNKNOWN = High Performance
Volta: High Performance => High Safety without Automatic Failover
Para realizar essa alteração, o comando abaixo deve ser executado:
USE [master]
GO
ALTER DATABASE [Mirror1] SET SAFETY FULL
Resultado após a alteração:
Safety_Level FULL + Witness_State UNKNOWN = High Safety without Automatic Failover
Com esse Post já temos um resumo de como alternar entre os Operations Mode do Database Mirroring. Após alguns testes, todas essas alterações já ficam na sua cabeça.
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