Определить активный узел в отказоустойчивом кластере SQL

StackOverflow https://stackoverflow.com/questions/778245

  •  13-09-2019
  •  | 
  •  

Вопрос

Кто-нибудь знает, как программно определить активный узел активно-пассивного отказоустойчивого кластера SQL из T-SQL?

@@SERVERNAME возвращает только имя виртуального сервера, которое идентично для обоих узлов.

Я не планирую принимать какие-либо решения на основе данных - я доверяю отработке отказа, которая сделает свое дело, - но я хотел бы включить информацию в журнал событий, чтобы я мог определить, какой узел в кластере был активен, когда произошло событие, или помочь определить, возникают ли исключения в результате отработки отказа.

Это было полезно?

Решение

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top