Erro ao tentar atualizar o nó de cluster para SQL Server 2012

Este artigo fornece uma resolução para o problema que ocorre quando você tenta atualizar uma instância SQL Server 2008 ou SQL Server 2008 R2 para SQL Server 2012 em um cluster de failover.

Versão original do produto: SQL Server 2012
Número de KB original: 2782511

Sintomas

Considere o seguinte cenário:

  • Você tem um cluster de failover do Microsoft SQL Server de dois nós que está em execução em um cluster de failover Windows Server 2012. Por exemplo, o nó primário é o nó A e o nó passivo é o nó B.

    Observação

    A instância de SQL Server é uma instância SQL Server 2008 ou SQL Server 2008 R2.

  • Você tenta atualizar o nó primário (nó A) para SQL Server 2012 usando o processo documentado em: Atualizar uma instância de cluster de failover.

Além disso, uma mensagem de erro semelhante à seguinte é exibida:

As propriedades comuns do recurso 'SQL Network Name (SQL Name)' não puderam ser salvas. Erro: houve uma falha ao chamar o código de cluster de um provedor. Mensagem de exceção: um ou mais valores de propriedade para esse recurso estão em conflito com um ou mais valores de propriedade associados aos seus recursos dependentes.

Observação

  • O NOME SQL é um espaço reservado para o SQL Server nome da rede.
  • Mesmo que esse problema cause uma falha de atualização no nó A, o grupo de recursos SQL Server falha com êxito no nó B atualizado. Além disso, como a operação de failover leva menos de um minuto, todos os recursos estão online sem interromper visivelmente a conectividade do cliente. No entanto, para concluir o processo de atualização no nó A, você precisa seguir etapas adicionais mencionadas na seção Resolução .

Motivo

Esse problema ocorre devido a alterações no clustering de failover Windows Server 2012.

Resolução

Esta seção aborda as seguintes ações:

  • Conclua a atualização no nó A.
  • Evite que o problema afete novas atualizações.

Concluir a atualização no nó A

Antes de iniciar esse processo, esteja ciente do seguinte:

  • Você não pode remover o nó A usando a operação Remover Nó . Essa operação excluirá a instância do cluster de failover SQL Server. Portanto, você não pode repará-lo.

  • Você não pode desinstalar a instância do cluster de failover SQL Server usando Desinstalar um programa. Essa operação não funciona.

  • Você não pode usar uma edição incorreta da mídia de instalação (por exemplo, SQL Server 2008 ou SQL Server 2008 R2) para executar a operação Remover Nó. Essa operação corromperá o estado do computador.

Para concluir a atualização do nó A, há duas fases:

  • Fase 1: limpar após a tentativa de atualização com falha no nó A para restaurar o estado de pré-atualização.

    1. Feche o programa de instalação e a caixa de diálogo de erro se eles ainda não estiverem fechados e deixe o programa de atualização terminar e relatar que a operação de atualização falhou.

    2. Remova o nó A da lista de possíveis proprietários para evitar que ele falhe acidentalmente. Para alterar a lista de proprietários possíveis, faça o seguinte:

      1. Inicie o snap-in do Gerenciador de Cluster de Failover em qualquer nó de failover.
      2. Em Funções, selecione a instância SQL Server cluster de failover no painel superior.
      3. Clique em Recursos no painel inferior, clique com o botão direito do mouse no recurso Nome do Servidor e selecione Propriedades.
      4. Clique em Políticas Avançadas na caixa de diálogo Propriedades .
      5. Selecione ou desmarque as caixas de marcar necessárias para cada nó adicionar ou remover os nós.
    3. Abra o arquivo summary.txt no local a seguir %Program Files%\Microsoft SQL Server\110\Setup Bootstrap\Log.

      Encontre o seguinte comando de solução de problemas no arquivo summary.txt : setup /q /action=uninstall /instanceid=FOOINST /features=AS

    4. Abra um prompt de comando como administrador e use o comando de solução de problemas junto com o caminho do arquivo de instalação do SQL Server 2012 (setup.exe). Por exemplo, você usa um comando que se assemelha ao seguinte:

      <SQL Server 2012 media path>\setup.exe /q /action=uninstall /instanceid=FOOINST /features=AS

      Observação

      • SQL Server caminho de mídia de 2012 é um espaço reservado para o caminho da mídia SQL Server 2012.
      • Esse comando é executado silenciosamente e normalmente é concluído em cinco minutos.
      • Você pode copiar e colar os argumentos de linha de comando do arquivosummary.txt para evitar erros de entrada. No entanto, o AS recurso precisa ser passado como um parâmetro exatamente como sugerido no arquivo summary.txt . A entrada incorreta desse comando (especialmente o instanceid parâmetro) fará com que a operação de limpeza falhe e, potencialmente, deixe o computador em um estado corrompido.
      • Verifique o arquivosummary.txt para confirmar se a operação de limpeza foi concluída com êxito.
  • Fase 2: Atualizar nó A para SQL Server 2012

    1. Inicie a mídia de instalação SQL Server 2012 no modo de interface do usuário.

    2. Selecione a opção Atualizar no menu Instalação na página de destino e vá para a caixa de diálogo Configuração da Instância .

    3. Selecione o nome da instância correta e insira o valor correto no campo ID da Instância .

      Observação

      • Continuando o exemplo na fase 1, o valor da ID da instância é FOOINST.
      • O programa de instalação não determina automaticamente a ID da instância. Portanto, você não pode usar a ID de instância prepovoada padrão no campo ID da Instância .
      • Você pode examinar o arquivosummary.txt para encontrar a ID da instância correta.
    4. Conclua o processo de atualização.

    5. Depois que o nó A for atualizado com êxito, adicione-o de volta à lista de possíveis proprietários no recurso Nome do Servidor da instância do cluster de failover SQL Server.

Impedir que o problema afete novas atualizações

Para evitar esse problema, use uma das seguintes opções:

  • Opção 1

    1. Atualize não mais da metade dos nós passivos primeiro, para evitar cruzar o limite majoritário.

      Observação

      • Se você tiver um número par de nós de cluster, atualize não mais da metade dos nós passivos.
      • Se você tiver um número ímpar de nós de cluster, certifique-se de atualizar menos da metade dos nós no cluster. Se a maioria dos nós no cluster for atualizada, esse problema ocorrerá quando o grupo de recursos de cluster falhar.
    2. Adicione manualmente os nós passivos atualizados de volta à lista de proprietários possíveis para o recurso Nome do Servidor.

    3. Remova os nós não atualizados da lista de possíveis proprietários.

    4. Faça failover manualmente do grupo de cluster SQL Server para um dos nós atualizados.

    5. Atualize os nós não atualizados restantes.

    6. Quando todos os nós não atualizados forem atualizados, adicione-os manualmente à lista de proprietários possíveis no recurso Nome do Servidor.

  • Opção 2

    Esse problema é corrigido em SQL Server Service Pack 1 (SP1) de 2012. Você pode fazer o processo de atualização em cada nó de cluster usando binários de programa de instalação do pacote de serviço. Para fazer isso, há dois métodos.

    • Método A

      1. Baixe SQL Server 2012 SP1 para um disco rígido local (por exemplo, para c:\sp1) ou para um compartilhamento de rede (por exemplo, \\share name\sp1) que pode ser acessado por todos os nós.

      2. Inicie um prompt de comando como administrador e execute um dos seguintes comandos:

        • <Download path>\setup.exe /action=upgrade /updatesource=c:\sp1
        • <Download path>\setup.exe /action=upgrade /updatesource=\\share name\sp1
      3. Conclua todas as etapas do programa de instalação.

        Observação

        Você pode confirmar se a atualização está usando SQL Server binários de instalação do SP1 2012 verificando o arquivo detail.log no seguinte local:%Program Files%\Microsoft SQL Server\110\Setup Bootstrap\Log\<Time stamped folder>

        Confirme se as informações de versão localizadas perto do início do arquivo de log mostram que a versão SQL Server 2012 é posterior a 11.0.2100.60. Por exemplo, o arquivo de log pode conter o seguinte:

    • Método B

      1. Baixe SQL Server 2012 SP1 para um disco rígido local (por exemplo, para c:\sp1) ou para um compartilhamento de rede (por exemplo, \\share name\sp1) que pode ser acessado por todos os nós.

      2. Inicie um prompt de comando como administrador e execute o seguinte comando:

        Download path\SQL Server 2012 Service Pack 1 Package Name.exe/Q
        

        Esse comando pré-corrigirá o nó com SQL Server binários de instalação do SP1 de 2012.

        Observação

        Você não pode instalar o arquivo SqlSupport.msi por si só, pois isso fará com que a operação de instalação do SQL Server 2012 falhe e um erro sobre não ter o MSVCR100.dll será exibido. Use o/Q parâmetro para evitar esse erro. Esse parâmetro instala o arquivo Sqlsupport.msi e os componentes de runtime do Visual C++.

      3. Conclua todas as etapas do programa de instalação.

Mais informações

Baixar o Service Pack 1 para SQL Server 2012

Aplicável a

  • SQL Server 2012 Developer
  • SQL Server 2012 Enterprise
  • SQL Server 2012 Express
  • SQL Server 2012 Standard
  • SQL Server 2012 Web
  • SQL Server 2012 Enterprise Core