2009-04-22 10 views
16

Kann jemand den aktiven Knoten eines aktiv-passiven SQL-Failoverclusters programmgesteuert aus T-SQL ermitteln?Ermitteln des aktiven Knotens im SQL-Failovercluster

@@SERVERNAME gibt nur den Namen des virtuellen Servers zurück, der von beiden Knoten identisch ist.

Ich plane nicht, Entscheidungen basierend auf den Daten zu treffen - ich vertraue dem Failover, um seine Sache zu tun - aber ich möchte die Informationen in ein Ereignisprotokoll aufnehmen, damit ich sagen kann, welcher Knoten im Cluster aktiv war Wenn das Ereignis aufgetreten ist, oder ermitteln Sie, ob aufgrund eines Failovers Ausnahmen auftreten.

Antwort

30
Select ServerProperty('ComputerNamePhysicalNetBIOS') 
+1

Perfekt - danke! –

+0

Wenn Ihr Treiber nicht direkt damit umgehen kann, konvertieren Sie es in ein varchar: 'SELECT konvertieren (varchar (100), ServerProperty ('ComputerNamePhysicalNetBIOS'))' – bradvido

+0

Beachten Sie, dass nach der [docs] (http: // msdn. microsoft.com/en-us/library/ms174396.aspx) sollten Sie 'MachineName' anstatt' ComputerNamePhysicalNetBIOS' für Failover-Cluster verwenden. Getestet beide Werte auf einer HA-Gruppe und einer eigenständigen Instanz in jedem Fall hat es wie erwartet funktioniert, aber ich nehme an, es gibt einen Grund, warum sie eine über die andere empfehlen. –