有人知道如何通过T-SQL以编程方式确定SQL主动-被动故障切换群集的主动节点吗?
@@SERVERNAME
仅返回虚拟服务器名称,该名称在两个节点上是相同的。
我不打算根据数据做出任何决策-我相信故障转移可以完成它的任务-但我希望将这些信息包括在事件日志中,这样我就可以知道事件发生时群集中的哪个节点处于活动状态,或者帮助确定故障转移是否会导致出现异常。
发布于 2009-04-22 09:14:55
Select ServerProperty('ComputerNamePhysicalNetBIOS')
发布于 2019-09-04 14:22:42
这在较新的版本中有效:
SELECT * FROM fn_virtualservernodes();
SELECT * FROM sys.dm_os_cluster_nodes;
发布于 2020-09-19 17:56:40
尝试此操作,检查服务器是否为可用性组中的主服务器,然后根据此条件执行X:
IF EXISTS (SELECT ars.role FROM sys.dm_hadr_availability_replica_states ars JOIN sys.availability_groups ag ON ars.group_id = ag.group_id WHERE ars.role_desc = 'PRIMARY')
BEGIN
SELECT 'PRIMARY' -- DO STUFF IF PRIMARY
END
ELSE
BEGIN
SELECT 'NOT PRIMARY' --- DON'T DO STUFF
END
https://stackoverflow.com/questions/778245
复制相似问题