pondelok 4. júla 2011

Meno inštancie pripojenia odhalené (SQL Server 2000/2005)

Ak používate pomenované inštancie SQL Servera, môže vás zaujímať, ako zistiť – napríklad z vnútra storovanej procedúry – ku ktorej inštancii ste pripojený v ľubovoľnom okamihu. V skutočnosti existujú dva spôsoby, ako to zistiť, a obidva spôsoby sú veľmi jednoduché.

Ako prvé, môžete použiť systémovú globálnu premennú @@SERVERNAME. Pripojte sa k pomenovanej inštancii a vyskúšajte nasledujúci príkaz:

SELECT InstanceName = @@SERVERNAME

Ako budete môcť vidieť, výsledok sa skladá z fyzického mena servera, nasleduje spätná lomka, za ktorou nasleduje názov inštancie. Z takéhoto výstupu dokážete jednoducho vyparsovať meno inštancie pomocou T-SQL reťazcových funkcií.

Druhý spôsob, v podstate ekvivalentný, je použitie vstavanej funkcie SERVERPROPERTY. Tu je príklad, ktorým by ste mali dosiahnuť rovnaký výsledok ako v predchádzajúcej ukážke:

SELECT InstanceName = SERVERPROPERTY ("ServerName")

Viac informácií o týchto dvoch možnostiach nájdete v SQL Server Books Online.