T-SQLからプログラムでSQLアクティブ-パッシブフェールオーバークラスターのアクティブノードを判別する方法を知っている人はいますか?
@@SERVERNAME
は、両方のノードで同一の仮想サーバー名のみを返します。
データに基づいて決定を下す予定はありません-フェイルオーバーがそのことを行うと信じています-しかし、イベントが発生したときにクラスター内のどのノードがアクティブであったかを知ることができるように、イベントログに情報を含めたいと思います、またはフェイルオーバーの結果として例外が発生するかどうかを判断するのに役立ちます。
Select ServerProperty('ComputerNamePhysicalNetBIOS')
これは新しいバージョンで機能します。
SELECT * FROM fn_virtualservernodes();
SELECT * FROM sys.dm_os_cluster_nodes;