Microsoft distribue les correctifs Microsoft SQL Server 2012 sous la forme d’un fichier téléchargeable. Dans la mesure où les correctifs sont cumulatifs, chaque nouvelle version contient tous les correctifs et les correctifs de sécurité inclus dans la version précédente du correctif SQL Server 2012.
Symptômes
Lorsque vous effectuez une mise à niveau d’une instance de cluster Microsoft SQL Server 2008 ou Microsoft SQL Server 2008 R2 vers une instance de cluster Microsoft SQL Server 2012, l’opération échoue. En outre, le message d'erreur suivant s'affiche :
Il y a eu une erreur lors de la mise à niveau de SQL Server. Le programme d’installation n’a pas réussi à déplacer le groupe de ressources de cluster de basculement et à le mettre en ligne. Pour continuer cette opération de mise à niveau, mettez le groupe de ressources en ligne manuellement et réessayez de procéder à la configuration. Raison : le groupe de cluster «ClusterGroupName» n’a pas pu être mis en ligne sur le nœud « tout nœud disponible ». Erreur : il n’y a pas eu un échec pour appeler le code de cluster à partir d’un fournisseur. Message d’exception : échec générique. Code d’État : 997. Description : l’opération d’e/s Overlapped est en cours.
Remarque Ce problème est plus susceptible de se produire lorsque l’instance de cluster contient de nombreuses bases de données.
Cause
Ce problème survient en raison d’un délai d’expiration lors de la mise à niveau du cluster. Le groupe de cluster prend beaucoup plus de temps que prévu pour mettre à niveau la base de données. Pendant ce temps, la ressource de cluster SQL Server reste dans un État « en attente ». Cela entraîne l’échec de l’opération de mise à niveau.RemarqueLe groupe de cluster attend cinq minutes pour placer les ressources en ligne sur un autre nœud.
Résolution
Informations sur les mises à jour cumulatives
SQL Server 2012
Le correctif de ce problème a été émis pour la première fois dans la mise à jour cumulative 2 pour SQL Server 2012. Pour plus d’informations sur la façon d’obtenir ce package de mise à jour cumulative pour SQL Server, cliquez sur le numéro ci-dessous pour consulter l’article de la base de connaissances Microsoft :
2703275 Package de mise à jour cumulative 2 pour SQL Server 2012Remarque Dans la mesure où les builds sont cumulatives, chaque nouvelle version du correctif contient tous les correctifs et les correctifs de sécurité inclus dans la version précédente du correctif SQL Server. Nous vous recommandons d’appliquer la version de correctif la plus récente qui contient ce correctif. Pour plus d'informations, cliquez sur le numéro ci-dessous pour afficher l'article correspondant dans la Base de connaissances Microsoft :
2692828 Builds SQL Server 2012 publiées après la sortie de SQL Server 2012
Solution de contournement
Pour contourner ce problème, procédez comme suit :
-
Mettez à niveau approximativement la moitié des nœuds passifs un par un. Pour empêcher l’opération de configuration de déplacer le groupe de ressources vers un nœud mis à niveau, utilisez le paramètre suivant :
/FAILOVERCLUSTERROLLOWNERSHIP=0
Pour plus d’informations sur le paramètre /FAILOVERCLUSTERROLLOWNERSHIP , accédez au site Web MSDN suivant :
Informations générales sur le paramètre/FAILOVERCLUSTERROLLOWNERSHIP
-
Ajoutez manuellement les nœuds mis à jour à l’étape 1 pour les propriétaires possibles de la ressource de nom de réseau.
-
Déplacez manuellement le groupe de ressources vers un nœud mis à niveau, puis attendez que le groupe se connecte.
-
Supprimez manuellement les nœuds qui n’ont pas été mis à niveau à partir de propriétaires possibles pour la ressource de nom de réseau.
-
Mettez à niveau le reste des nœuds de cluster.
Statut
Microsoft a confirmé l'existence de ce problème dans les produits Microsoft figurant dans la liste des produits concernés par cet article.