Erreur lorsque vous essayez de mettre à niveau le nœud de cluster vers SQL Server 2012

Cet article fournit une résolution du problème qui se produit lorsque vous essayez de mettre à niveau un instance SQL Server 2008 ou SQL Server 2008 R2 vers SQL Server 2012 sur un cluster de basculement.

Version d’origine du produit : SQL Server 2012
Numéro de la base de connaissances d’origine : 2782511

Symptômes

Prenons l’exemple du scénario suivant :

  • Vous disposez d’un cluster de basculement Microsoft SQL Server à deux nœuds qui s’exécute sur un cluster de basculement Windows Server 2012. Par exemple, le nœud principal est le nœud A et le nœud passif est le nœud B.

    Remarque

    La instance de SQL Server est une instance SQL Server 2008 ou SQL Server 2008 R2.

  • Vous essayez de mettre à niveau le nœud principal (nœud A) vers SQL Server 2012 à l’aide du processus décrit dans : Mettre à niveau un cluster de basculement instance.

Dans ce cas, un message d’erreur semblable au suivant s’affiche :

Les propriétés courantes de la ressource « Nom du réseau SQL (nom SQL) » n’ont pas pu être enregistrées. Erreur : Échec de l’appel du code de cluster à partir d’un fournisseur. Message d’exception : Une ou plusieurs valeurs de propriété pour cette ressource sont en conflit avec une ou plusieurs valeurs de propriété associées à ses ressources dépendantes.

Remarque

  • Nom SQL est un espace réservé pour le nom réseau SQL Server.
  • Même si ce problème provoque un échec de mise à niveau sur le nœud A, le groupe de ressources SQL Server bascule correctement vers le nœud mis à niveau B. En outre, étant donné que l’opération de basculement prend moins d’une minute, toutes les ressources sont en ligne sans perturber sensiblement la connectivité du client. Toutefois, pour terminer le processus de mise à niveau sur le nœud A, vous devez suivre les étapes supplémentaires mentionnées dans la section Résolution .

Cause

Ce problème se produit en raison de modifications apportées à Windows Server 2012 clustering de basculement.

Résolution

Cette section couvre les actions suivantes :

  • Effectuez la mise à niveau sur le nœud A.
  • Empêchez le problème d’affecter les nouvelles mises à niveau.

Terminer la mise à niveau sur le nœud A

Avant de commencer ce processus, tenez compte des éléments suivants :

  • Vous ne pouvez pas supprimer le nœud A à l’aide de l’opération Supprimer le nœud . Cette opération supprime le instance du cluster de basculement SQL Server. Par conséquent, vous ne pouvez pas le réparer.

  • Vous ne pouvez pas désinstaller le cluster de basculement SQL Server instance à l’aide de Désinstaller un programme. Cette opération ne fonctionne pas.

  • Vous ne pouvez pas utiliser une édition incorrecte du support d’installation (par exemple, SQL Server 2008 ou SQL Server 2008 R2) pour exécuter l’opération Supprimer le nœud. Cette opération endommage l’état de l’ordinateur.

Pour terminer la mise à niveau du nœud A, il existe deux phases :

  • Phase 1 : Nettoyage après l’échec de la tentative de mise à niveau sur le nœud A pour restaurer l’état de pré-mise à niveau.

    1. Fermez le programme d’installation et la boîte de dialogue d’erreur s’ils ne sont pas déjà fermés, et laissez le programme de mise à niveau se terminer et signaler que l’opération de mise à niveau a échoué.

    2. Supprimez le nœud A de la liste des propriétaires possibles afin d’éviter le basculement accidentel vers celui-ci. Pour modifier la liste des propriétaires possibles, procédez comme suit :

      1. Démarrez le composant logiciel enfichable Gestionnaire du cluster de basculement sur n’importe quel nœud de basculement.
      2. Sous Rôles, sélectionnez le cluster de basculement SQL Server instance dans le volet supérieur.
      3. Cliquez sur Ressources dans le volet inférieur, cliquez avec le bouton droit sur la ressource Nom du serveur , puis sélectionnez Propriétés.
      4. Cliquez sur Stratégies avancées dans la boîte de dialogue Propriétés .
      5. Sélectionnez ou désactivez les zones de case activée nécessaires pour chaque nœud afin d’ajouter ou de supprimer les nœuds.
    3. Ouvrez le fichier summary.txt à l’emplacement suivant %Program Files%\Microsoft SQL Server\110\Setup Bootstrap\Log.

      Recherchez la commande de résolution des problèmes suivante dans le fichier summary.txt : setup /q /action=uninstall /instanceid=FOOINST /features=AS

    4. Ouvrez une invite de commandes en tant qu’administrateur et utilisez la commande de résolution des problèmes avec le chemin du fichier d’installation SQL Server 2012 (setup.exe). Par exemple, vous utilisez une commande qui ressemble à ce qui suit :

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

      Remarque

      • SQL Server 2012 est un espace réservé pour le chemin du média SQL Server 2012.
      • Cette commande s’exécute en mode silencieux et s’exécute généralement dans les cinq minutes.
      • Vous pouvez copier et coller les arguments de ligne de commande à partir du fichier summary.txt pour éviter les erreurs de saisie. Toutefois, la AS fonctionnalité doit être passée en tant que paramètre qui est exactement comme suggéré dans le fichier summary.txt . Une entrée incorrecte de cette commande (en particulier le instanceid paramètre) entraîne l’échec de l’opération de nettoyage et laisse potentiellement l’ordinateur dans un état endommagé.
      • Vérifiez le fichier summary.txt pour vérifier que l’opération de nettoyage s’est terminée correctement.
  • Phase 2 : Mise à niveau du nœud A vers SQL Server 2012

    1. Démarrez le support d’installation SQL Server 2012 en mode interface utilisateur.

    2. Sélectionnez l’option Mettre à niveau sous le menu Installation de la page d’accueil, puis accédez à la boîte de dialogue Configuration de l’instance .

    3. Sélectionnez le nom instance approprié, puis entrez la valeur correcte dans le champ ID d’instance.

      Remarque

      • Pour poursuivre l’exemple de la phase 1, la valeur d’ID instance est FOOINST.
      • Le programme d’installation ne détermine pas automatiquement l’ID de instance. Par conséquent, vous ne pouvez pas utiliser l’ID de instance préremplies par défaut dans le champ ID d’instance.
      • Vous pouvez consulter le fichier summary.txt pour trouver l’ID de instance correct.
    4. Terminez le processus de mise à niveau.

    5. Une fois le nœud A correctement mis à niveau, rajoutez-le à la liste des propriétaires possibles sur la ressource Nom du serveur de l’instance du cluster de basculement SQL Server.

Empêcher le problème d’affecter les nouvelles mises à niveau

Pour éviter ce problème, utilisez l’une des options suivantes :

  • Option 1

    1. Mettez à niveau d’abord la moitié des nœuds passifs pour éviter de dépasser le seuil de majorité.

      Remarque

      • Si vous avez un nombre pair de nœuds de cluster, ne mettez pas à niveau plus de la moitié des nœuds passifs.
      • Si vous avez un nombre impair de nœuds de cluster, veillez à mettre à niveau moins de la moitié des nœuds du cluster. Si la majorité des nœuds du cluster sont mis à niveau, ce problème se produit lorsque le groupe de ressources du cluster bascule.
    2. Ajoutez manuellement les nœuds passifs mis à niveau à la liste des propriétaires possibles pour la ressource Nom du serveur.

    3. Supprimez les nœuds non mis à niveau de la liste des propriétaires possibles.

    4. Basculez manuellement le groupe de clusters SQL Server vers l’un des nœuds mis à niveau.

    5. Mettez à niveau les nœuds non mis à niveau restants.

    6. Lorsque tous les nœuds non mis à niveau sont mis à niveau, rajoutez-les manuellement à la liste des propriétaires possibles sur la ressource Nom du serveur.

  • Option 2

    Ce problème est résolu dans SQL Server 2012 Service Pack 1 (SP1). Vous pouvez effectuer le processus de mise à niveau sur chaque nœud de cluster à l’aide des fichiers binaires du programme d’installation du Service Pack. Pour ce faire, il existe deux méthodes.

    • Méthode A

      1. Téléchargez SQL Server 2012 SP1 sur un disque dur local (par exemple sur c:\sp1) ou sur un partage réseau (par exemple, \\share name\sp1) accessible par tous les nœuds.

      2. Démarrez une invite de commandes en tant qu’administrateur et exécutez l’une des commandes suivantes :

        • <Download path>\setup.exe /action=upgrade /updatesource=c:\sp1
        • <Download path>\setup.exe /action=upgrade /updatesource=\\share name\sp1
      3. Effectuez toutes les étapes du programme d’installation.

        Remarque

        Vous pouvez vérifier si la mise à niveau utilise les fichiers binaires du programme d’installation de SQL Server 2012 SP1 en vérifiant le fichier detail.log à l’emplacement suivant :%Program Files%\Microsoft SQL Server\110\Setup Bootstrap\Log\<Time stamped folder>

        Vérifiez que les informations de version situées près du début du fichier journal indiquent que la version SQL Server 2012 est ultérieure à 11.0.2100.60. Par exemple, le fichier journal peut contenir les éléments suivants :

    • Méthode B

      1. Téléchargez SQL Server 2012 SP1 sur un disque dur local (par exemple sur c:\sp1) ou sur un partage réseau (par exemple, \\share name\sp1) accessible par tous les nœuds.

      2. Démarrez une invite de commandes en tant qu’administrateur et exécutez la commande suivante :

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

        Cette commande pré-corrige le nœud avec les fichiers binaires d’installation de SQL Server 2012 SP1.

        Remarque

        Vous ne pouvez pas installer le fichier SqlSupport.msi seul, car cela entraîne l’échec de l’opération d’installation SQL Server 2012, et une erreur indiquant que l'MSVCR100.dllne s’affiche pas. Utilisez le/Q paramètre pour éviter cette erreur. Ce paramètre installe à la fois le fichier Sqlsupport.msi et les composants du runtime Visual C++.

      3. Effectuez toutes les étapes du programme d’installation.

Plus d’informations

Télécharger Le Service Pack 1 pour SQL Server 2012

S’applique à

  • 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