Ответ 1
Select ServerProperty('ComputerNamePhysicalNetBIOS')
Кто-нибудь знает, как программно определить активный node SQL-активный пассивный отказоустойчивый кластер из T-SQL?
@@SERVERNAME
возвращает только имя виртуального сервера, которое идентично с обоих узлов.
Я не планирую принимать какие-либо решения на основе данных - я доверяю отказоустойчивости, чтобы сделать это, но я хотел бы включить эту информацию в журнал событий, чтобы я мог определить, какой node в кластере активен, когда произошло событие, или поможет определить, возникли ли исключения в результате отказа.
Select ServerProperty('ComputerNamePhysicalNetBIOS')
Это работает в более новых версиях:
SELECT * FROM fn_virtualservernodes();
полная информация на https://docs.microsoft.com/en-us/sql/relational-databases/system-functions/sys-fn-virtualservernodes-transact-sql?view=sql-server-2017
SELECT * FROM sys.dm_os_cluster_nodes;
полная информация на https://docs.microsoft.com/en-us/sql/relational-databases/system-dynamic-management-views/sys-dm-os-cluster-nodes-transact-sql?view=sql-server-2017