“Finalmente Mirror – Banco de Dados!”

Posted on março 24, 2011

9


 

Conforme o Willian (http://williandrinfra.wordpress.com/) disse, as necessidades da empresa foram tamanhas, que foi necessário realizar a implementação de um sistema de contigência para o banco de dados. Depois de algumas discussões com os gerentes e responsáveis da área, optamos pelo Espelhamento de Banco de Dados(Database Mirroring).

Configurações Necessárias – Infra-Estrutura

Para a implementação de um espelhamento de banco de dados, por link WAN (Wide Area Network) com máquinas de domínios distintos, é necessárias as seguintes configurações que estão postados no (http://williandrinfra.wordpress.com/2011/03/24/finalmente-mirrorinfra/) , seção “Configurações Necessárias – Infra-Estrutura”.

Configurações Necessárias – Banco de Dados

Depois de todo o ambiente de infra-estrutura disponibilizado pelo Willian, partimos para a configuração do espelhamento do banco de dados.

  1. Restaurar no servidor de “Contigência”, o backup do banco de dados “Principal
  2. Como a realização do espelhamento é realizados através de servidores de domínios diferentes, é necessário que o transporte de dados, nesse caso o ENDPOINT seja criptografado, para isso é necessário alguns passos.

Servidor PRINCIPAL

Criação do Database Master KEY

USE master

GO

CREATE MASTER KEY ENCRYPTION BY PASSWORD =

GO

Criação do Certificado

USE master

CREATE CERTIFICATE ServidorPRINCIPAL

   WITH SUBJECT = ‘Certificado Espelhamento Banco de Dados – ServidorPRINCIPAL’;

GO

Endpoint MIRROR – “Criptografãdo”

CREATE ENDPOINT PRINCIPAL_MIRROR_SESSION

   STATE = STARTED

   AS TCP (

      LISTENER_PORT=5022

      , LISTENER_IP = ALL

   )

   FOR DATABASE_MIRRORING (

      AUTHENTICATION = CERTIFICATE ServidorPRINCIPAL

      , ENCRYPTION = REQUIRED ALGORITHM AES

      , ROLE = ALL

   );

GO

Backup do Certificado Criado

BACKUP CERTIFICATE ServidorPRINCIPAL

TO FILE = ‘D:\TestMirror\certificados\ServidorPRINCIPAL_cert.cer’;

GO

 

Depois de realizar o backup do certificado, é necessário que o mesmo seja tranferido para o servidor de “contigência”.

 

Servidor de CONTIGÊNCIA

Criação do Database Master KEY

USE master

GO

CREATE MASTER KEY ENCRYPTION BY PASSWORD =

GO

Criação do Certificado

USE master

CREATE CERTIFICATE ServidorCONTIGENCIA

WITH SUBJECT = ‘Certificado Espelhamento Banco de Dados – ServidorCONTIGENCIA’;

GO

Endpoint MIRROR – “Criptografãdo”

CREATE ENDPOINT MIRROR_MIRROR_SESSION

STATE = STARTED

AS TCP (

LISTENER_PORT=5022

, LISTENER_IP = ALL

)

FOR DATABASE_MIRRORING (

AUTHENTICATION = CERTIFICATE ServidorCONTIGENCIA

, ENCRYPTION = REQUIRED ALGORITHM AES

, ROLE = ALL

);

GO

Backup do Certificado Criado

BACKUP CERTIFICATE ServidorCONTIGENCIA

TO FILE = ‘D:\certificados\ServidorCONTIGENCIA_cert.cer’;

GO

Depois de realizar o backup do certificado, é necessário que o mesmo seja tranferido para o servidor “PRINCIPAL”.

3.   Depois dos “ENDPOINT’s” criptografados dos dois lados, é necessário que seja criado um usuário que receba o certificado do outro servidor, ou seja:

 

Servidor PRINCIPAL

Criação de Login

USE master

GO

CREATE LOGIN UsrMirror WITH PASSWORD = ;

Criação de Usuário Mapeado ao Login

USE master

GO

CREATE USER UsrMirror FOR LOGIN UsrMirror;

GO

Usuário Mapeado ao Certificado = ServidorCONTIGENCIA

Nesse momento o certificado do servidor de CONTIGÊNCIA é mapeado para o usuário do servidor PRINCIPAL.

 

CREATE CERTIFICATE ServidorCONTIGENCIA

AUTHORIZATION UsrMirror

FROM FILE = ‘D:\TestMirror\certificados\ServidorCONTIGENCIA_cert.cer’

GO

Acesso ao ENDPOINT

GRANT CONNECT ON ENDPOINT :: PRINCIPAL_MIRROR_SESSION TO UsrMirror

GO

 

Servidor CONTIGÊNCIA

Criação de Login

USE master

GO

CREATE LOGIN UsrMirror WITH PASSWORD = ;

Criação de Usuário Mapeado ao Login

USE master

GO

CREATE USER UsrMirror FOR LOGIN UsrMirror;

GO

Usuário Mapeado ao Certificado = ServidorPRINCIPAL

Nesse momento o certificado do servidor de PRINCIPAL é mapeado para o usuário do servidor de CONTIGÊNCIA.

 

CREATE CERTIFICATE ServidorPRINCIPAL

AUTHORIZATION UsrMirror

FROM FILE = ‘D:\TestMirror\certificados\ServidorPRINCIPAL_cert.cer’

GO

Acesso ao ENDPOINT

GRANT CONNECT ON ENDPOINT :: MIROR_MIRROR_SESSION TO UsrMirror

GO

 

Para ver os ENDPOINT’s configurados, utilize a seguinte consulta:

 

SELECT  *

FROM sys.database_mirroring_endpoints

 

image

 

4.    Agora para iniciar a sesão do MIRROR faça o seguinte:

  • No Servidor de CONTIGÊNCIA:

ALTER DATABASE [DatabaseName]

    SET PARTNER = ‘TCP://IP:5022’; Exemplo

GO

 

  • No Servidor PRINCIPAL:

ALTER DATABASE [DatabaseName]

    SET PARTNER = ‘TCP://IP:5022’; Exemplo

GO

 

Pronto, sua seção de espelhamento em servidores de domínios diferentes está configurado.

 

Luan.Moreno

Att,