Como executar failover manualmente em uma sessão de espelhamento de banco de dados (Transact-SQL)

Quando o banco de dados espelhado estiver sincronizado (ou seja, quando o banco de dados estiver no estado de SYNCHRONIZED), o proprietário do banco de dados poderá iniciar failover manual para o servidor espelho. O failover manual só pode ser iniciado do servidor principal.

Para efetuar manualmente o failover de uma sessão de espelhamento de banco de dados

  1. Conecte-se ao servidor principal.

  2. Defina o contexto do banco de dados como o banco de dados de master:

    USE master;

  3. Emita a seguinte instrução no servidor principal:

    ALTER DATABASE database_name SET PARTNER FAILOVER, onde database_name é o banco de dados espelhado.

    Isso inicia uma transição imediata do servidor espelho para a função principal.

No principal anterior, clientes são desconectados do banco de dados e são revertidos em transações de vôo.

ObservaçãoObservação

As transações que forem preparadas usando o Coordenador de Transações Distribuídas da Microsoft, mas que ainda não estiverem confirmadas quando ocorrer um failover, serão consideradas anuladas depois da falha do banco de dados.