In alcuni casi può essere necessario sapere su quale nodo di un cluster è in esecuzione il servizio di SQL Server, usando solamente comandi T-SQL.
Con SQL Server 2005 e 2008 questo script permette di avere le informazioni che servono:
select
*,
HasSQLServer = case when NodeName = host_name() then 1 else 0 end
from
sys.dm_os_cluster_nodes
*,
HasSQLServer = case when NodeName = host_name() then 1 else 0 end
from
sys.dm_os_cluster_nodes
La colonna HasSQLServer verrà impostata ad 1 per il nodo sulla quale sta effettivamente girando SQL Server.
Con SQL Server 2000 è invece necessario usare il seguente:
select
*,
HasSQLServer = case when NodeName = host_name() then 1 else 0 end
from
fn_virtualservernodes()
*,
HasSQLServer = case when NodeName = host_name() then 1 else 0 end
from
fn_virtualservernodes()