Sqlserver
 sql >> база данни >  >> RDS >> Sqlserver

2 начина за връщане на името на сървъра в SQL Server (T-SQL)

Ето няколко T-SQL метода, които можете да използвате, за да върнете името на сървъра в SQL Server.

@@ИМЕ НА СЪРВЪР

@@SERVERNAME Конфигурационната функция е проектирана специално за връщане на името на локалния сървър, който изпълнява SQL Server.

За да получите името на сървъра, просто го изберете с помощта на SELECT изявление.

SELECT @@SERVERNAME;

Резултат в моята система:

mssql2019_1

Това ми казва, че името на сървъра ми е mssql2019_1 .

SERVERPROPERTY(ServerName)

SERVERPROPERTY() функцията за метаданни може да се използва и за връщане на името на сървъра, както и много други свойства.

За да върнете името на сървъра, трябва да подадете ServerName като аргумент.

SELECT SERVERPROPERTY('ServerName');

Резултат:

mssql2019_1

В моя случай това е същият изход.

Разлика между тези две функции

Двете функции по-горе произвеждат еднакъв изход на моята машина, но може да откриете, че те произвеждат малко по-различен изход на вашата.

Двете функции са сходни, но малко различни. Ето разликата:

  • @@SERVERNAME предоставя текущо конфигурираното име на локален сървър.
  • ServerName свойството предоставя сървъра на Windows и името на екземпляра, които заедно съставляват уникалния сървърен екземпляр.

Така например в Windows система, ако името на вашия компютър е Felix , а вашият екземпляр на SQL Server се нарича sql1 , изпълняващ SERVERPROPERTY('ServerName') може да върне Felix\sql1 .

Името на машината и името на екземпляра

SERVERPROPERTY() функцията може да се използва и за връщане на името на машината, както и на името на екземпляра на SQL Server.

Въпреки това резултатите, които ще получите, ще зависят от няколко неща (споменати по-долу).

Ето какво получавам на моя Mac, работещ с SQL Server за Linux чрез Docker контейнер.

SELECT
  SERVERPROPERTY('MachineName') AS MachineName,
  SERVERPROPERTY('InstanceName') AS InstanceName;

Резултат:

+---------------+----------------+
 | MachineName   | InstanceName   |
 |---------------+----------------|
 | mssql2019_1   | NULL           |
 +---------------+----------------+ 

Първо, MachineName property връща името на машината. Обяснението на Microsoft е, че връща името на компютъра с Windows, на който се изпълнява сървърният екземпляр.

Microsoft също така заявява, че „За клъстерен екземпляр, екземпляр на SQL Server, работещ на виртуален сървър в Microsoft Cluster Service, той връща името на виртуалния сървър.

Що се отнася до InstanceName свойството отива, връща името на екземпляра на which потребителят е свързан.

Той обаче връща NULL ако името на екземпляра е екземплярът по подразбиране, ако входът не е валиден или грешка.

В моя случай името на екземпляра е екземплярът по подразбиране и получих 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. Как да изпращам имейл от SQL Server?

  2. Как да замените всички появявания на низ с друг низ в SQL Server – REPLACE()

  3. Заявка за сравняване на дати в SQL

  4. 4 причини, поради които трябва да дадете приоритет на наблюдението на база данни във вашето планиране за 2020 г.

  5. Актуализирайте SQL с последователно номериране