Configurar disponibilidade em um único farm usando espelhamento de banco de dados do SQL Server

Atualizado em: 2008-12-18

Este artigo descreve como usar o espelhamento do banco de dados de alta disponibilidade para configurar a disponibilidade em um farm para o Microsoft Office SharePoint Server 2007. O artigo pressupõe que você tenha familiaridade com os conceitos e termos apresentados no artigo sobre Planejar-se para a disponibilidade (Office SharePoint Server).

O espelhamento de banco de dados do Microsoft SQL Server 2005 fornece suporte de disponibilidade enviando as transações diretamente de um banco de dados e servidor principais para um banco de dados e servidor espelhados sempre que o buffer do log da transação do banco de dados principal for gravado em um disco. Recomendamos que, para a disponibilidade em um farm do Office SharePoint Server 2007, você use o espelhamento de banco de dados de alta disponibilidade, também denominado modo de alta segurança com failover automático. O espelhamento de banco de dados de alta disponibilidade envolve três instâncias de servidor: um principal, um espelhado e uma testemunha. O servidor testemunha permite failover automático do SQL Server do servidor principal para o servidor espelhado. O failover do banco de dados principal para o banco de dados espelhado normalmente leva vários segundos.

Em um farm do SharePoint, o espelhamento pode proporcionar redundância para todos os bancos de dados — quando ocorre failover nos bancos de dados, pressupõe-se que os servidores Web front-end continuem disponíveis. A figura a seguir mostra como o espelhamento é configurado para oferecer alta disponibilidade em um farm.

Diagrama de espelhamento de todos os bancos de dados em um farm

O Office SharePoint Server 2007 não oferece reconhecimento de espelhamento. Para usar o espelhamento como uma solução de disponibilidade, recomendamos que você configure os bancos de dados para usar aliases de cliente do SQL Server e execute scripts para alterar o alias de cliente do SQL Server no failover.

Requisitos do espelhamento de banco de dados

Verifique se os bancos de dados e o sistema atendem aos seguintes requisitos para configurar o espelhamento do banco de dados:

  • Recomendamos que o sistema tenha latência não superior a 1 milissegundo.

  • De preferência, a largura de banda do sistema deve ser de 1 gigabyte por segundo.

  • Os logs são copiados em tempo real entre os servidores principal e espelhado, e a cópia pode prejudicar o desempenho. Verifique se há memória e largura de banda suficientes tanto no servidor principal quanto no espelhado.

  • Os servidores principal e espelhado precisam executar a mesma edição do Microsoft SQL Server 2005 com Service Pack 1 (SP1). O espelhamento do banco de dados está disponível somente nas edições Standard, Developer e Enterprise. O servidor testemunha pode executar qualquer versão do SQL Server 2005, incluindo a SQL Server 2005 Express Edition.

  • O espelhamento funciona somente com bancos de dados que usam o modelo de recuperação completa.

    Por padrão, os bancos de dados de SSP do Office SharePoint Server 2007 são configurados para usar o modelo de recuperação Simples. Para configurar o espelhamento do banco de dados, o modelo de recuperação do banco de dados precisa estar definido como Completo. Para obter informações sobre como definir o modelo de recuperação para um banco de dados, consulte o artigo sobre exibição ou alteração do modelo de recuperação de um banco de dados (SQL Server Management Studio) (https://go.microsoft.com/fwlink/?linkid=132075\&clcid=0x416).

  • Se você pretende espelhar bancos de dados de SSP, leve em consideração que o tamanho do log de transações desses bancos de dados pode ficar muito grande. Para contornar esse problema, pense na possibilidade de ter um plano de recuperação para truncar os logs de transações conforme necessário. Para obter mais informações, consulte a Base de Dados de Conhecimento Microsoft, artigo sobre: interrupção do log de transações de um banco de dados do SQL Server para não crescer inesperadamente (https://go.microsoft.com/fwlink/?linkid=111458\&clcid=0x416).

  • Cada sessão de espelhamento do banco de dados cria pelo menos dois threads para cada banco de dados. Verifique se o servidor de banco de dados tem threads suficientes para serem alocados para espelhar todos os bancos de dados que têm suporte. Se não houver threads suficientes, à medida que mais bancos de dados forem adicionados a uma sessão, o desempenho poderá piorar progressivamente.

    No ambiente de hospedagem da Microsoft, constatamos que a quantidade máxima prática para espelhar bancos de dados de uma única instância do SQL Server que está hospedando os Produtos e Tecnologias do SharePoint é de 50 bancos de dados. Esse máximo se baseia no grau de intensidade de recursos do espelhamento (cada instância principal e instância espelhada exige threads dedicados) e em testes. Os resultados podem variar com base nos seguintes fatores:

    • Memória das instâncias principal e espelhada

    • Capacidade de processamento das instâncias principal e espelhada

    • Largura de banda dos subsistemas de E/S nas instâncias principal e espelhada

    • Quantidade de logs de transações gerada pela carga de trabalho em cada banco de dados

    • Largura de banda de rede entre as instâncias principal e espelhada

Para obter mais informações sobre desempenho e escala para espelhamento do banco de dados, consulte o artigo sobre espelhamento de banco de dados no SQL Server 2005 (em inglês) (https://go.microsoft.com/fwlink/?linkid=83566\&clcid=0x416) (em inglês).

Segurança associada ao espelhamento do banco de dados

O espelhamento do banco de dados usa sessões de TCP para transportar o log de transações entre um servidor e outro e para monitorar a integridade atual do sistema para saber se há failovers automáticos. A autenticação é executada no nível da sessão quando uma porta é aberta para conexão.

  • Autenticação do Windows (NTLM ou Kerberos)

  • Certificados

Este documento descreve como usar o espelhamento de banco de dados com certificados. Para obter informações sobre como usar a autenticação do Windows com espelhamento de banco de dados, consulte o artigo de exemplo de configuração de um espelhamento de banco de dados usando a autenticação do Windows (Transact-SQL) (https://go.microsoft.com/fwlink/?linkid=83567\&clcid=0x416).

A menos que a rede esteja protegida, os dados transmitidos durante a sessão devem ser criptografados. Este documento descreve como configurar a criptografia nos dados transmitidos com cabeamento usando RC4, mas o espelhamento de banco de dados oferece suporte aos algoritmos de criptografia AS e RC4. Para obter mais informações sobre a segurança associada ao espelhamento de banco de dados, consulte o artigo sobre segurança do transporte no espelhamento de banco de dados (https://go.microsoft.com/fwlink/?linkid=83569\&clcid=0x416).

Segurança e servidores espelhados do SharePoint

Quando você configura um banco de dados espelhado, os lajens e as permissões do SQL Server referentes ao banco de dados que será usado com um farm do SharePoint não são configurados automaticamente nos bancos de dados mestre e MSDN do espelho. Em vez disso, é necessário configurar as permissões para os logons necessários. Elas incluem, dentre outras:

  • A conta de pool de aplicativos da Administração Central deve ser membro das funções de servidor fixas dbcreator e securityadmin.

  • Todas as contas de pool de aplicativos, além dos serviços de pesquisa e das contas de acesso ao conteúdo padrão, devem ter logons do SQL Server, embora não sejam atribuídas a funções de servidor ou de banco de dados fixas do SQL Server.

  • Os membros do grupo Administradores de Farm do SharePoint também devem ter logons do SQL Server e ser membros das mesmas funções da conta de pool de aplicativos da Administração Central.

Recomendamos que você transfira os logons e as permissões do servidor principal para o servidor espelhado executando um script. Um exemplo de script está disponível na Base de Dados de Conhecimento, artigo 918992 sobre transferência de logons e senhas entre instâncias do SQL Server 2005 (https://go.microsoft.com/fwlink/?linkid=122053\&clcid=0x416). Para obter informações mais genéricas sobre como transferir metadados do SQL Server entre instâncias, consulte nos Manuais Online do SQL Server o artigo sobre gerenciamento de metadados ao disponibilizar um banco de dados em outra instância de servidor (https://go.microsoft.com/fwlink/?linkid=122055\&clcid=0x416).

Topologias recomendadas

Recomendamos manter um mapeamento comparativo entre os servidores principal e espelhado para garantir a compatibilidade com os Produtos e Tecnologias do SharePoint.

As topologias que têm suporte incluem o espelhamento de todos os bancos de dados de conteúdo, o banco de dados de configuração e o banco de dados de conteúdo da Administração Central. Além disso, para o Office SharePoint Server é possível espelhar o banco de dados de SSP, o banco de dados de pesquisa de SSP e os bancos de dados de conteúdo de SSP.

As ilustrações a seguir demonstram algumas topologias que têm suporte.

Topologias com suporte para espelhamento

Evite topologias que não tenham servidores principal e espelhado correspondentes. Além disso, mantenha o banco de dados de configuração e o banco de dados de conteúdo da administração no mesmo servidor. O diagrama a seguir ilustra uma topologia não tem suporte.

Topologias sem suporte para espelhamento

Configurar aliases de conexão do SQL Server

Um alias de conexão do SQL Server é um nome alternativo definido que pode ser usado para se conectar a uma instância do SQL Server. No caso dos Produtos e Tecnologias do SharePoint, é possível criar um alias do SQL Server que é usado por todos os servidores (incluindo os servidores Web front-end) para se conectar à instância do SQL Server. Quando ocorre failover em um servidor de banco de dados espelhado, você ajusta o alias no servidor Web front-end para que aponte para o servidor espelhado, em vez do servidor principal. Recomendamos definir os aliases de conexão do SQL Server antes de implementar o espelhamento.

Dica

Se você estiver configurando aliases para um farm existente, use um alias com o mesmo nome do servidor principal para que nenhuma alteração seja necessária nos servidores Web front-end para começar a usar o alias.

Execute as etapas a seguir em cada servidor Web front-end e em cada servidor que se conecta ao SQL Server.

  1. Inicie o Utilitário de Rede SQL Server Native Client (%SYSTEM%\cliconfg.exe).

  2. Clique na guia Alias e em Adicionar.

    Será exibida a caixa de diálogo Adicionar Configuração de Biblioteca de Rede.

  3. Selecione TCP/IP, digite um alias, digite o nome do servidor a ser associado ao alias e clique em OK.

  4. Repita para todos os servidores que se conectam ao SQL Server.

Configurar o espelhamento de banco de dados

Esta seção descreve como usar o Transact-SQL para configurar o espelhamento de banco de dados em modo de alta disponibilidade para um banco de dados do SQL Server.

Para configurar o espelhamento de banco de dados com os Produtos e Tecnologias do SharePoint, é necessário trabalhar individualmente com cada banco de dados que deseja espelhar.

As etapas da seção a seguir pertencem a esta topologia de farm de servidores:

  • Um ou mais servidores Web front-end

  • Três servidores que estão executando o SQL Server 2005: principal, espelhado e testemunha

  • Um banco de dados de configuração

  • Vários bancos de dados de conteúdo

  • Um ou mais bancos de dados de SSP

Configurar o espelhamento de banco de dados com certificados e recuperação completa

Cada etapa lista o servidor em que ela deve ser executada. Use Transact-SQL para enviar esses comandos para o SQL Server. As informações de espaço reservado são indicadas por parênteses angulares (<>) e devem ser substituídas por informações específicas à sua implantação.

Configurar o servidor principal para conexões de saída

  1. No servidor principal, crie um certificado e abra uma porta para espelhamento.

    --On master database, create the database Master Key, if needed
    CREATE MASTER KEY ENCRYPTION BY PASSWORD = '<test1234->';
    GO
    -- Make a certificate for this server instance.
    USE master;
    CREATE CERTIFICATE <MASTER_HostA_cert> 
       WITH SUBJECT = '<Master_HostA certificate>';
    GO
    --Create mirroring endpoint for server instance using the certificate
    CREATE ENDPOINT Endpoint_Mirroring
       STATE = STARTED
       AS TCP (
          LISTENER_PORT=5024
          , LISTENER_IP = ALL
       ) 
       FOR DATABASE_MIRRORING ( 
          AUTHENTICATION = CERTIFICATE <MASTER_HostA_cert>
          , ENCRYPTION = REQUIRED ALGORITHM RC4
          , ROLE = ALL
       );
    GO
    
  2. No servidor principal, faça backup do certificado.

    --Back up HOST_A certificate.
    BACKUP CERTIFICATE MASTER_HostA_cert TO FILE = '<c:\MASTER_HostA_cert.cer>';
    GO
    
  3. No servidor principal, faça backup do banco de dados. Esse exemplo usa o banco de dados de configuração. Repita para todos os bancos de dados.

    USE master;
    --Ensure that SharePoint_Config uses the full recovery model.
    ALTER DATABASE SharePoint_Config
       SET RECOVERY FULL;
    GO
    USE SharePoint_Config
    BACKUP DATABASE SharePoint_Config 
        TO DISK = '<c:\SharePoint_Config.bak>' 
        WITH FORMAT
    GO
    BACKUP Log SharePoint_Config 
        TO DISK = '<c:\SharePoint_Config_log.bak>' 
        WITH FORMAT
    GO
    
  4. Copie o arquivo de backup no servidor espelhado. Repita para todos os bancos de dados.

  5. Usando qualquer método de cópia seguro, copie o arquivo de certificado de backup (C:\HOST_HostA_cert.cer, por exemplo) no servidor espelhado.

  6. No servidor principal, crie um logon e usuário para o servidor espelhado, associe o certificado ao usuário e conceda ao logon as permissões de conexão para a parceria.

    --Create a login on HOST_A for HOST_B
    USE master;
    CREATE LOGIN <HOST_HostB_login> WITH PASSWORD = '<1234-test>';
    GO
    --Create a user for that login.
    CREATE USER <HOST_HostB_user> FOR LOGIN <HOST_HostB_login>;
    GO
    --Associate the certificate with the user
    CREATE CERTIFICATE <HOST_HostB_cert>
       AUTHORIZATION <HOST_HostB_user>
       FROM FILE = '<c:\HOST_HostB_cert.cer>' --do not try to use a network path, SQL Server will give an error about the key not being valid
    GO
    --Grant CONNECT permission on the login for the remote mirroring endpoint.
    GRANT CONNECT ON ENDPOINT::Endpoint_Mirroring TO [<HOST_HostB_login>];
    GO
    

Configurar o servidor espelhado para conexões de saída

  1. No servidor espelhado, crie um certificado e abra uma porta para espelhamento.

    --On master database, create the database Master Key, if needed.
    USE master;
    CREATE MASTER KEY ENCRYPTION BY PASSWORD = '<1234-test>';
    GO
    -- Make a certificate on the HOST_B server instance.
    CREATE CERTIFICATE <HOST_HostB>
       WITH SUBJECT = '<HOST_HostB certificate for database mirroring>';
    GO
    --Create a mirroring endpoint for the server instance on HOST_B.
    CREATE ENDPOINT Endpoint_Mirroring
       STATE = STARTED
       AS TCP (
          LISTENER_PORT=5024
          , LISTENER_IP = ALL
       ) 
       FOR DATABASE_MIRRORING ( 
          AUTHENTICATION = CERTIFICATE <HOST_HostB>
          , ENCRYPTION = REQUIRED ALGORITHM RC4
          , ROLE = ALL
       );
    GO
    
  2. No servidor espelhado, faça backup do certificado.

    --Back up HOST_B certificate.
    BACKUP CERTIFICATE <HOST_HostB> TO FILE = '<C:\HOST_HostB_cert.cer>';
    GO 
    
  3. Usando qualquer método de cópia seguro, copie o arquivo de certificado de backup (C:\HOST_HostB_cert.cer, por exemplo) no servidor principal.

  4. No servidor espelhado, restaure o banco de dados dos arquivos de backup. Esse exemplo usa o banco de dados de configuração. Repita para todos os bancos de dados.

    RESTORE DATABASE SharePoint_Config 
        FROM DISK = '<c:\SharePoint_Config.bak>' 
        WITH NORECOVERY
    GO
    RESTORE log SharePoint_Config 
        FROM DISK = '<c:\SharePoint_Config_log.bak>' 
        WITH NORECOVERY
    GO
    

Configurar o servidor espelhado para conexões de entrada

  • No servidor espelhado, crie um logon e usuário para o servidor espelhado, associe o certificado ao usuário e conceda ao logon as permissões de conexão para a parceria.

    --Create a login on HOST_B for HOST_A
    USE master;
    CREATE LOGIN <MASTER_HostA_login> WITH PASSWORD = '<test1234->';
    GO
    --Create a user for that login.
    CREATE USER <MASTER_HostA_user> FOR LOGIN <MASTER_HostA_login>;
    GO
    --Associate the certificate with the user
    CREATE CERTIFICATE <MASTER_HostA_cert>
       AUTHORIZATION <MASTER_HostA_user>
       FROM FILE = '<c:\MASTER_HostA_cert.cer>' --do not try to use a network path, SQL Server will give an error about the key not being valid
    GO
    --Grant CONNECT permission on the login for the remote mirroring endpoint.
    GRANT CONNECT ON ENDPOINT::Endpoint_Mirroring TO [<MASTER_HostA_login>];
    GO
    

Configurar o servidor principal para conexões de entrada

  • No servidor principal, crie um logon e usuário para o servidor espelhado, associe o certificado ao usuário e conceda ao logon as permissões de conexão para a parceria.

    --Create a login on HOST_A for HOST_B
    USE master;
    CREATE LOGIN <HOST_HostB_login> WITH PASSWORD = '<1234-test>';
    GO
    --Create a user for that login.
    CREATE USER <HOST_HostB_user> FOR LOGIN <HOST_HostB_login>;
    GO
    --Associate the certificate with the user
    CREATE CERTIFICATE <HOST_HostB_cert>
       AUTHORIZATION <HOST_HostB_user>
       FROM FILE = '<c:\HOST_HostB_cert.cer>' --do not try to use a network path, SQL Server will give an error about the key not being valid
    GO
    --Grant CONNECT permission on the login for the remote mirroring endpoint.
    GRANT CONNECT ON ENDPOINT::Endpoint_Mirroring TO [<HOST_HostB_login>];
    GO
    

Configurar os parceiros de espelhamento

  1. No servidor principal, configure a parceria de espelhamento. Esse exemplo usa o banco de dados de configuração. Repita para todos os bancos de dados.

    --At HOST_A, set server instance on HOST_B as partner (mirror server).
    ALTER DATABASE SharePoint_Config
        SET PARTNER = '<TCP://databasemirror.adatum.com:5024>';
    GO
    
  2. No servidor espelhado, configure a parceria de espelhamento. Esse exemplo usa o banco de dados de configuração. Repita para todos os bancos de dados.

    --At HOST_B, set server instance on HOST_A as partner (principal server):
    ALTER DATABASE SharePoint_Config 
        SET PARTNER = '<TCP://databasemaster.adatum.com:5024>';
    GO
    

Configurar um servidor testemunha

Cada etapa lista o servidor em que ela deve ser executada. Use Transact-SQL para enviar esses comandos para o SQL Server. As informações de espaço reservado são indicadas por parênteses angulares (<>) e devem ser substituídas por informações específicas à sua implantação.

  1. No servidor testemunha, configure o certificado e abra a porta.

    --On master database, create the database Master Key, if needed
    CREATE MASTER KEY ENCRYPTION BY PASSWORD = '<1234test->';
    GO
    -- Make a certificate for this server instance.
    USE master;
    CREATE CERTIFICATE <WITNESS_HostC_cert> 
       WITH SUBJECT = '<Witness_HostC certificate>';
    GO
    --Create mirroring endpoint for server instance using the certificate
    CREATE ENDPOINT Endpoint_Mirroring
       STATE = STARTED
       AS TCP (
          LISTENER_PORT=5024
          , LISTENER_IP = ALL
       ) 
       FOR DATABASE_MIRRORING ( 
          AUTHENTICATION = CERTIFICATE <WITNESS_HostC_cert
          , ENCRYPTION = REQUIRED ALGORITHM RC4
          , ROLE = ALL
       );
    GO
    
  2. No servidor principal, faça backup do certificado.

    --Back up HOST_C certificate 
    BACKUP CERTIFICATE <WITNESS_HostC_cert> TO FILE = '<c:\ WITNESS_HostC_cert.cer>';
    GO
    
  3. Usando qualquer método seguro de cópia, copie o arquivo de certificado de backup (C:\WITNESS_HOSTC_cert.cer, por exemplo) para o servidor principal e para o servidor espelho.

  4. Usando qualquer método seguro de cópia, copie o arquivo de certificado de backup (C:\WITNESS_HOSTC_cert.cer, por exemplo) para o servidor principal e para o servidor espelhado.

    --Create a login on Witness HOST_C for Principal HOST_A
    USE master;
    CREATE LOGIN <MASTER_HostA_login> WITH PASSWORD = '<test1234->';
    GO
    --Create a user for that login.
    CREATE USER <MASTER_HostA_user> FOR LOGIN <MASTER_HostA_login>;
    GO
    --Associate the certificate with the user
    CREATE CERTIFICATE <MASTER_HostA_cert>
       AUTHORIZATION <MASTER_HostA_user>
       FROM FILE = '<c:\MASTER_HostA_cert.cer>' --do not try to use a network path, SQL Server will give an error about the key not being valid
    GO
    --Grant CONNECT permission on the login for the remote mirroring endpoint.
    GRANT CONNECT ON ENDPOINT::Endpoint_Mirroring TO [<MASTER_HostA_login>];
    GO
    --Create Login for Mirror Host B
    CREATE LOGIN <HOST_HostB_login> WITH PASSWORD = '<1234-test>';
    GO
    --Create a user for that login.
    CREATE USER <HOST_HostB_user> FOR LOGIN <HOST_HostB_login>;
    GO
    --Associate the certificate with the user
    CREATE CERTIFICATE <HOST_HostB_cert>
       AUTHORIZATION <HOST_HostB_user>
       FROM FILE = '<c:\HOST_HostB_cert.cer>' --do not try to use a network path, SQL Server will give an error about the key not being valid
    GO
    --Grant CONNECT permission on the login for the remote mirroring endpoint.
    GRANT CONNECT ON ENDPOINT::Endpoint_Mirroring TO [<HOST_HostB_login>];
    GO
    
  5. No servidor principal, crie um logon e usuário para o servidor testemunha, associe o certificado ao usuário e conceda ao logon as permissões de conexão para a parceria. Repita para o servidor espelhado.

    --Create a login on Master HostA for Witness HostC
    USE master;
    CREATE LOGIN <WITNESS_HostC_login> WITH PASSWORD = '<1234test->';
    GO
    --Create a user for that login.
    CREATE USER <WITNESS_HostC_user> FOR LOGIN <WITNESS_HostC_login>;
    GO
    --Associate the certificate with the user
    CREATE CERTIFICATE <WITNESS_HostC_cert>
       AUTHORIZATION <WITNESS_HostC_user>
       FROM FILE = '<c:\WITNESS_HostC_cert.cer>' --do not try to use a network path, SQL Server will give an error about the key not being valid
    GO
    --Grant CONNECT permission on the login for the remote mirroring endpoint.
    GRANT CONNECT ON ENDPOINT::Endpoint_Mirroring TO [<WITNESS_HostC_login>];
    GO
    
  6. No servidor principal, anexe o servidor testemunha. Esse exemplo usa o banco de dados de configuração. Repita para todos os bancos de dados.

    --Setup the Witness Server
    ALTER DATABASE SharePoint_Config
        SET WITNESS = 
        '<TCP://databasewitness.adatum.com:5024>'
    GO
    

Transferir permissões para o servidor espelhado

Quando você configura um banco de dados espelhado, os logons e as permissões do SQL Server referentes ao banco de dados que será usado com um farm do SharePoint não são configurados automaticamente nos bancos de dados mestre e msdb do espelho. Em vez disso, é necessário configurar as permissões para os logons necessários.

Recomendamos que você transfira os logons e as permissões do servidor principal para o servidor espelhado executando um script. O script que recomendamos está disponível na Base de Dados de Conhecimento, artigo 918992 sobre transferência de logons e senhas entre instâncias do SQL Server 2005 (https://go.microsoft.com/fwlink/?linkid=122053\&clcid=0x416).

Monitorar o estado de espelhamento

No servidor testemunha, você pode usar a seguinte instrução de Transact-SQL para monitorar o estado de espelhamento atual.

SELECT mirroring_role FROM sys.database_mirroring WHERE mirroring_role is not null --If returns a 1, principal, if 2: mirror

Talvez você queira criar uma série de trabalhos e alertas do SQL Server para determinar qual é o servidor principal ou criar um serviço do Windows que execute esse comando para determinar qual é o servidor principal.

Próximas etapas

Depois de configurar o espelhamento, você precisa criar os scripts que permitem executar failover nos bancos de dados do farm. Para obter mais informações, consulte Failover e recuperação de bancos de dados espelhados em um único farm.

SELECT mirroring_role FROM sys.database_mirroring WHERE mirroring_role is not null --If returns a 1, principal, if 2: mirror

Talvez você queira criar uma série de trabalhos e alertas do SQL Server para determinar qual é o servidor principal ou criar um serviço do Windows que execute esse comando para determinar qual é o servidor principal.

Consulte também

Outros recursos

Espelhamento de banco de dados no SQL Server 2005 (em inglês)