2009-04-22 9 views
16

¿Alguien sabe cómo determinar el nodo activo de un clúster de conmutación por error pasivo activo de SQL programáticamente desde T-SQL?Determine el nodo activo en el clúster de conmutación por error de SQL

@@SERVERNAME solo devuelve el nombre del servidor virtual, que es idéntico para ambos nodos.

No pienso tomar ninguna decisión basada en los datos. Confío en que la conmutación por error haga lo suyo, pero me gustaría incluir la información en un registro de eventos para poder decir qué nodo del clúster estaba activo. cuando ocurrió el evento, o ayudar a determinar si surgen excepciones como resultado de una conmutación por error.

Respuesta

30
Select ServerProperty('ComputerNamePhysicalNetBIOS') 
+1

Perfecto - ¡gracias! –

+0

Si su controlador no puede manejarlo directamente, conviértalo en varchar: 'SELECT convert (varchar (100), ServerProperty ('ComputerNamePhysicalNetBIOS'))' – bradvido

+0

Tenga en cuenta que de acuerdo con [docs] (http: // msdn. microsoft.com/en-us/library/ms174396.aspx) debe utilizar 'MachineName' en lugar de' ComputerNamePhysicalNetBIOS' para errores en clústeres. Probé ambos valores en un grupo de HA y una instancia independiente en cada caso funcionó como se esperaba, pero supongo que hay alguna razón por la que recomiendan uno sobre el otro. –

Cuestiones relacionadas