Déterminer Noeud Actif dans le Cluster avec Basculement SQL
Personne ne sait comment faire pour déterminer le nœud actif d'un SQL Actif-Passif de Cluster de Basculement par programme à partir de T-SQL?
@@SERVERNAME
retourne uniquement le nom du serveur virtuel, qui est identique à partir de deux nœuds.
Je n'ai pas l'intention de faire une des décisions sur la base de données - j'ai confiance en le basculement de faire sa chose - mais je voudrais inclure les informations dans un journal des événements pour que je puisse dire le nœud du cluster est actif lorsque l'événement s'est produit, ou d'aider à déterminer si des exceptions comme la suite d'un basculement.
OriginalL'auteur David Boike | 2009-04-22
Vous devez vous connecter pour publier un commentaire.
Si votre pilote d'imprimante ne peut pas le manipuler directement, de les convertir en un varchar:
SELECT convert(varchar(100), ServerProperty('ComputerNamePhysicalNetBIOS'))
Note que, selon le docs vous devriez être en utilisant
MachineName
plutôt queComputerNamePhysicalNetBIOS
pour échouer sur les clusters. Testé les deux valeurs sur un HA de groupe et d'une instance autonome dans chaque cas, il a fonctionné comme prévu, mais je suppose que pour une raison quelconque, ils recommandent l'un sur l'autre.Je suis prêt à parier qu'il pourrait y avoir une différence avec les machines virtuelles.
J'ai élargi la réponse. Dans mon cas (SQL2008R2)
MachineName
retourne le nom du réseau associé à l'instance, de ne pas le nœud.ComputerNamePhysicalNetBIOS
retourne le nom du noeud actuel. Si vous êtes avec SQL 2012 et sur une meilleure utilisation de la dmv sys.dm_os_cluster_nodesOriginalL'auteur Stu