Hier sind ein paar T-SQL-Methoden, die Sie verwenden können, um den Servernamen in SQL Server zurückzugeben.
@@SERVERNAME
Der @@SERVERNAME
Die Konfigurationsfunktion wurde speziell dafür entwickelt, den Namen des lokalen Servers zurückzugeben, auf dem SQL Server ausgeführt wird.
Um den Servernamen zu erhalten, wählen Sie ihn einfach mit einem SELECT
aus Erklärung.
SELECT @@SERVERNAME;
Ergebnis auf meinem System:
mssql2019_1
Dies sagt mir, dass mein Servername mssql2019_1
ist .
SERVER-EIGENSCHAFT (Servername)
Die SERVERPROPERTY()
metadata-Funktion kann auch verwendet werden, um den Servernamen sowie viele andere Eigenschaften zurückzugeben.
Um den Servernamen zurückzugeben, müssen Sie ServerName
übergeben als Argument.
SELECT SERVERPROPERTY('ServerName');
Ergebnis:
mssql2019_1
In meinem Fall ist es die gleiche Ausgabe.
Unterschied zwischen diesen beiden Funktionen
Die beiden oben genannten Funktionen erzeugen auf meinem Computer dieselbe Ausgabe, aber Sie werden möglicherweise feststellen, dass sie auf Ihrem eine etwas andere Ausgabe erzeugen.
Die beiden Funktionen sind ähnlich, aber leicht unterschiedlich. Hier ist der Unterschied:
@@SERVERNAME
liefert den aktuell konfigurierten lokalen Servernamen.- Der
ServerName
-Eigenschaft stellt den Windows-Server und den Instanznamen bereit, die zusammen die eindeutige Serverinstanz bilden.
Also zum Beispiel auf einem Windows-System, wenn Ihr Computername Felix
ist , und Ihre SQL Server-Instanz heißt sql1
, indem Sie SERVERPROPERTY('ServerName')
ausführen könnte Felix\sql1
zurückgeben .
Der Maschinenname und Instanzname
Die SERVERPROPERTY()
-Funktion kann auch verwendet werden, um sowohl den Computernamen als auch den Namen der SQL Server-Instanz zurückzugeben.
Die Ergebnisse, die Sie erhalten, hängen jedoch von einigen Dingen ab (siehe unten).
Folgendes erhalte ich auf meinem Mac, auf dem SQL Server für Linux über einen Docker-Container ausgeführt wird.
SELECT
SERVERPROPERTY('MachineName') AS MachineName,
SERVERPROPERTY('InstanceName') AS InstanceName;
Ergebnis:
+---------------+----------------+ | MachineName | InstanceName | |---------------+----------------| | mssql2019_1 | NULL | +---------------+----------------+
Zuerst der MachineName
Die Eigenschaft gibt den Maschinennamen zurück. Die Erklärung von Microsoft ist, dass es den Namen des Windows-Computers zurückgibt, auf dem die Serverinstanz läuft.
Microsoft gibt außerdem an, dass „für eine geclusterte Instanz, eine Instanz von SQL Server, die auf einem virtuellen Server im Microsoft Cluster Service ausgeführt wird, der Name des virtuellen Servers zurückgegeben wird“.
Soweit der InstanceName
Eigenschaft geht, gibt sie den Namen der Instanz an which
zurück der Benutzer ist verbunden.
Es gibt jedoch NULL
zurück wenn der Instanzname die Standardinstanz ist, wenn die Eingabe ungültig ist oder ein Fehler auftritt.
In meinem Fall ist der Instanzname die Standardinstanz und ich habe NULL
erhalten .