none
reiniciar servidor com mirror RRS feed

  • Pergunta

  • Olá.

    A minha dúvida é bem simples. Pode parecer óbvia, mas como sou novo no mundo sql...

    O que acontece se eu reiniciar o servidor que tem um banco de dados espelhado (o mirror)? Durante o período que o mirror ficar fora, as transações no principal serão terminadas ("commitadas")?

    Obs: O espelhamento é síncrono e sem witness.


    SMRBKP

    quinta-feira, 29 de novembro de 2012 13:34

Respostas

  • Olá,

    Com espelhamento síncrono e sem witness o failover não é automático, logo em uma queda do servidor principal você terá que no secundário executar o comando para forçar um failover.

    alter database <Database Name> set partner FORCE_SERVICE_ALLOW_DATA_LOSS

    As informações ficam em uma queue e assim que o servidor secundário voltar as informações serão levadas para ele, mas isso é claro no modo assíncrono.

    Se a resposta foi útil, classifique-a


    Att, Marcos Freccia [MCTS|MCITP|MCT SQL Server 2008]

    sexta-feira, 28 de dezembro de 2012 14:12

Todas as Respostas

  • SmrBkp,

    Isso vai depender da forma que o Mirroring foi configurado:

    Há dois modos operacionais de espelhamento. Um deles, o modo de segurança alta que oferece suporte à operação síncrona. No modo de segurança alta, quando uma sessão é iniciada, o servidor espelho sincroniza rapidamente o banco de dados espelho com banco de dados principal. Assim que os bancos de dados são sincronizados, a transação é confirmada em ambos os parceiros, a custa do
    aumento de latência da transação.

    No modo de alto desempenho, assim que o servidor principal envia um registro de log para o servidor espelho, o servidor principal envia uma confirmação para o cliente. O servidor principal não aguarda uma confirmação do servidor espelho.

    Isso significa que as transações são confirmadas sem esperar que o servidor espelho grave o log no disco. Essa operação assíncrona habilita o servidor principal para executar com latência de transação mínima e com grande chance de que alguns dados sejam perdidos.


    Pedro Antonio Galvão Junior [MVP | Microsoft Evangelist | Microsoft Partner | Engenheiro de Softwares | Especialista em Banco de Dados | SorBR.Net | Professor Universitário | MSIT.com]

    sexta-feira, 30 de novembro de 2012 16:49
    Moderador
  • Mais uma vez muito obrigado pela ajuda Pedro!!

    Aproveitando, parabéns pelo blog. Me inscrevi nele e todas as postagens chegam no meu email! Achei muito bom os scripts de exemplo que você posta!

    Obrigado.


    SMRBKP

    segunda-feira, 3 de dezembro de 2012 19:36
  • SmrBkp,

    Obrigado, espero que possa estar ajudando mesmo.


    Pedro Antonio Galvão Junior [MVP | Microsoft Evangelist | Microsoft Partner | Engenheiro de Softwares | Especialista em Banco de Dados | SorBR.Net | Professor Universitário | MSIT.com]

    quarta-feira, 5 de dezembro de 2012 17:41
    Moderador
  • Olá,

    Com espelhamento síncrono e sem witness o failover não é automático, logo em uma queda do servidor principal você terá que no secundário executar o comando para forçar um failover.

    alter database <Database Name> set partner FORCE_SERVICE_ALLOW_DATA_LOSS

    As informações ficam em uma queue e assim que o servidor secundário voltar as informações serão levadas para ele, mas isso é claro no modo assíncrono.

    Se a resposta foi útil, classifique-a


    Att, Marcos Freccia [MCTS|MCITP|MCT SQL Server 2008]

    sexta-feira, 28 de dezembro de 2012 14:12