Est-il possible d'get Cluster -> Disponibilité Node Map Instance Map via WMI?

Je souhaite énumérer toutes les instances dans un groupe SQL Server Always On Availability.

Il existe une vue de gestion dynamic dans SQL Server qui fournit cette fonction, mais vous devez être connecté à une instance pertinente pour interroger cette vue.

En outre, je peux voir dans le registre pour un noeud sur le cluster qu'il y a le mappage que je souhaite get: HKLM\Cluster\Resources\{cluster_guid}\SqlInstToNodeMap

Il existe une class WMI qui peut énumérer tous les groupes de disponibilité sur le cluster, mais je ne vois pas comment (même en examinant l'object PrivateProperties) je peux énumérer l'instance SQL vers le mappe de cluster par WMI – est-ce que quelqu'un sait si c'est possible? peut fournir un mécanisme qui ne nécessite pas de regarder le registre ou d'interroger SQL Server?

Merci

Vous ne savez pas si cela vous aide mais vous pouvez l'get en utilisant les classs SMO?

 Server srv = new Server("instance_name") 

Vous pouvez accéder à la propriété AvailabilityReplics de chaque AvailabilityGroup dans la collection AvailabilityGroups pour get les nœuds de réplicas, quelque chose comme (non testé)

 Server srv = new Server("instance_name") foreach(AvialbilityGroup grp in srv.AvailabilityGroups) { Console.WriteLine("Found group {0} on instance {1}", grp.Name, srv.InstanceName); Console.WriteLine(" Replicas:"); foreach(AvailabilityReplica replica in grp.AvailabilityReplicas) { Console.WriteLine(" Replica Name: {0}, Cluster Name: {1}", replica.Name, repica.Parent.Parent.ClusterName) } }