Database Mirroring – Operation Mode High Performance – Parte 1
Fala Pessoal,
Nesse post começo a testar como o Database Mirroring se comporta configurado com o Operation mode High Performance.
Nome das instâncias participantes dos testes:
1 – Instancia5 – Servidor Principal, referenciado no texto por Servidor A
2 – Instancia5\INST1 – Servidor Mirror, referenciado no texto por Servidor B
Nome da database espelhada: Mirror1
Nesse teste foi simulado um problema no servidor B. Antes de parar o serviço do SQL Server desse servidor, deixei um loop rodando no servidor A realizando um insert em uma tabela.
Script de criação da tabela de teste:
CREATE TABLE [dbo].[Teste](
[Cod] [int] IDENTITY(1,1) NOT NULL,
[Data] [datetime] NULL,
[Texto] [varchar](4000) NULL )
Loop de teste:
while 1=1
begin
if exists (select null from sys.databases where name = ‘MIRROR1’ and state_desc = ‘ONLINE’)
insert into mirror1..Teste(texto)
select @@servername
waitfor delay ’00:00:01′
end
Segue abaixo o monitor do mirror antes da parada:
Parando o serviço do SQL Server do servidor B, o ambiente fica como na figura abaixo. O contador Unsent log aumenta constantemente. Consequentemente, o log da database mirror1 também só aumenta a medida que os inserts são realizados.
Nesse momento, reiniciei o serviço do SQL Server do servidor B e os dois ficam sincronizando durante um tempo:
Até serem sincronizados totalmente:
Nesse teste, como esperado, o loop de Insert a cada segundo continuou rodando normalmente no servidor A pois somente o servidor de Mirror parou.
Até o próximo post com mais um teste desse Operation Mode.
Artigos relacionados:
Série de Posts sobre Database Mirroring
Database Mirroring – Como alterar o Operation Mode
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
Boa tarde Fabricio
Tenho uma dúvida…
Criei uma replicação com a publicação do tipo transaction , retirando duas colunas de uma tabela para não criar artigo, mas quando é realizado a replicação para o outro banco que recebe as informações, é apagado essa duas colunas deste banco
Como faço para a replicação não excluir as colunas, tenho que criar filtro?
Olá Maite,
Não entendi muito bem sua dúvida.
Você criou uma replicação transacional de duas colunas de uma tabela ou uma replicação de todas as colunas de uma tabela com excessão dessas duas colunas?
Abraços
Olá Fabricio
Criei a replicação de uma tabela só que não quero que em 2 colunas
dela não venham os registros! Teria alguma opção para isso?
Muito Obrigada!
Abraços
Olá Maite,
Agora eu entendi. Conforme você mesma sugeriu, você pode criar um filtro no artigo que está sendo publicado. Segue um link falando sobre isso:
http://msdn.microsoft.com/pt-br/library/ms146925(v=sql.105).aspx
Se esse não tiver muito simples, no google deve ter outros…
Abraços
Olá Fabricio!
Estou começando a trabalhar com mirroring e seus posts me ajudaram muito.
Estou com uma dúvida que pode parecer boba, mas que eu não estou sabendo.
Como vc criou (ou se é uma funcionalidade do SQL) esse monitor do mirror?
Obrigado!
Obrigado Caroline.
Ele é do próprio SQL Server.
Abre pelo management studio mesmo.