gpt4 book ai didi

c# - 是否可以通过 WMI 获取 Cluster -> Availability Group Instance Node Map?

转载 作者:太空宇宙 更新时间:2023-11-03 13:02:58 26 4
gpt4 key购买 nike

我希望枚举 SQL Server Always On 可用性组中的所有实例。

有一个Dynamic Management View在提供此功能的 SQL Server 中,但您需要连接到相关实例才能查询此 View 。

另外,我可以在集群节点的注册表中看到我希望获得的映射:HKLM\Cluster\Resources\{cluster_guid}\SqlInstToNodeMap

有一个WMI class可以枚举集群上的所有可用性组,但我看不到如何(即使通过检查 PrivateProperties 对象)我可以通过 WMI 将 SQL 实例枚举到集群节点映射 - 有谁知道这是否可能,或者可以提供一种机制不需要查看注册表或查询 SQL Server?

谢谢

最佳答案

不确定这是否有帮助,但您可以使用 SMO 类(class)获得它吗?

Server srv = new Server("instance_name")

您可以访问 AvailabilityReplics每个属性 AvailabilityGroupAvailabilityGroups集合以获取副本节点,类似于(未测试)

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)
}
}

关于c# - 是否可以通过 WMI 获取 Cluster -> Availability Group Instance Node Map?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31785536/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com