Oto kilka metod T-SQL, których możesz użyć do zwrócenia nazwy serwera w SQL Server.
@@NAZWASERWERA
@@SERVERNAME
funkcja konfiguracji została zaprojektowana specjalnie do zwracania nazwy lokalnego serwera, na którym działa SQL Server.
Aby uzyskać nazwę serwera, po prostu wybierz go za pomocą SELECT
oświadczenie.
SELECT @@SERVERNAME;
Wynik w moim systemie:
mssql2019_1
To mówi mi, że nazwa mojego serwera to mssql2019_1
.
SERVERPROPERTY(nazwa_serwera)
SERVERPROPERTY()
Funkcja metadanych może być również użyta do zwrócenia nazwy serwera, a także wielu innych właściwości.
Aby zwrócić nazwę serwera, musisz przekazać ServerName
jako argument.
SELECT SERVERPROPERTY('ServerName');
Wynik:
mssql2019_1
W moim przypadku to ten sam wynik.
Różnica między tymi dwiema funkcjami
Dwie powyższe funkcje generują te same dane wyjściowe na moim komputerze, ale może się okazać, że na twoim komputerze generują nieco inne dane wyjściowe.
Te dwie funkcje są podobne, ale nieco inne. Oto różnica:
@@SERVERNAME
dostarcza aktualnie skonfigurowaną nazwę lokalnego serwera.ServerName
właściwość dostarcza nazwę serwera Windows i instancji, które razem tworzą unikalną instancję serwera.
Na przykład w systemie Windows, jeśli nazwa komputera to Felix
, a Twoja instancja SQL Server nazywa się sql1
, uruchamiając SERVERPROPERTY('ServerName')
może zwrócić Felix\sql1
.
Nazwa komputera i nazwa instancji
SERVERPROPERTY()
funkcja może być również użyta do zwrócenia nazwy komputera, a także nazwy instancji SQL Server.
Jednak uzyskane wyniki będą zależeć od kilku rzeczy (wymienionych poniżej).
Oto, co otrzymuję na komputerze Mac z systemem SQL Server dla systemu Linux za pośrednictwem kontenera Docker.
SELECT
SERVERPROPERTY('MachineName') AS MachineName,
SERVERPROPERTY('InstanceName') AS InstanceName;
Wynik:
+---------------+----------------+ | MachineName | InstanceName | |---------------+----------------| | mssql2019_1 | NULL | +---------------+----------------+
Najpierw MachineName
właściwość zwraca nazwę komputera. Wyjaśnienie Microsoftu jest takie, że zwraca nazwę komputera z systemem Windows, na którym działa instancja serwera.
Microsoft stwierdza również, że „Dla wystąpienia klastrowanego, wystąpienia SQL Server działającego na serwerze wirtualnym w usłudze Microsoft Cluster Service, zwraca nazwę serwera wirtualnego”.
Aż do InstanceName
właściwość idzie, zwraca nazwę instancji do which
użytkownik jest podłączony.
Jednak zwraca NULL
jeśli nazwa instancji jest instancją domyślną, jeśli dane wejściowe są nieprawidłowe, lub błąd.
W moim przypadku nazwa instancji jest domyślną instancją i otrzymałem NULL
.