Sqlserver
 sql >> Baza danych >  >> RDS >> Sqlserver

2 sposoby na zwrócenie nazwy serwera w SQL Server (T-SQL)

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 .


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Oto trzy powody, dla których możesz zauważyć szczytową aktywność w swojej instancji SQL

  2. Zapytanie SQL Server Xml z wieloma przestrzeniami nazw

  3. Zaktualizuj zapytanie za pomocą podzapytania w SQL Server

  4. Użyj OBJECT_NAME(), aby uzyskać nazwę obiektu z jego object_id w SQL Server

  5. Jak formatować liczby jako walutę w SQL Server (T-SQL)