Hier zijn een aantal T-SQL-methoden die u kunt gebruiken om de servernaam in SQL Server te retourneren.
@@SERVERNAME
De @@SERVERNAME
configuratiefunctie is speciaal ontworpen voor het retourneren van de naam van de lokale server waarop SQL Server wordt uitgevoerd.
Om de servernaam te krijgen, selecteert u deze eenvoudig met een SELECT
verklaring.
SELECT @@SERVERNAME;
Resultaat op mijn systeem:
mssql2019_1
Dit vertelt me dat mijn servernaam mssql2019_1
. is .
SERVERPROPERTY(Servernaam)
De SERVERPROPERTY()
metadata-functie kan ook worden gebruikt om de servernaam te retourneren, evenals vele andere eigenschappen.
Om de servernaam terug te geven, moet u ServerName
doorgeven als argument.
SELECT SERVERPROPERTY('ServerName');
Resultaat:
mssql2019_1
In mijn geval is het dezelfde output.
Verschil tussen deze twee functies
De twee bovenstaande functies produceren dezelfde output op mijn machine, maar het kan zijn dat ze iets andere output produceren op de jouwe.
De twee functies zijn vergelijkbaar, maar iets anders. Dit is het verschil:
@@SERVERNAME
biedt de momenteel geconfigureerde lokale servernaam.- De
ServerName
eigenschap biedt de Windows-server en instantienaam die samen de unieke serverinstantie vormen.
Dus bijvoorbeeld op een Windows-systeem, als uw computernaam Felix
. is , en uw SQL Server-instantie heet sql1
, met SERVERPROPERTY('ServerName')
retourneert mogelijk Felix\sql1
.
De machinenaam en instantienaam
De SERVERPROPERTY()
functie kan ook worden gebruikt om de machinenaam en de naam van de SQL Server-instantie te retourneren.
De resultaten die u krijgt, zijn echter afhankelijk van een aantal dingen (hieronder vermeld).
Dit is wat ik krijg op mijn Mac met SQL Server voor Linux via een Docker-container.
SELECT
SERVERPROPERTY('MachineName') AS MachineName,
SERVERPROPERTY('InstanceName') AS InstanceName;
Resultaat:
+---------------+----------------+ | MachineName | InstanceName | |---------------+----------------| | mssql2019_1 | NULL | +---------------+----------------+
Ten eerste, de MachineName
eigenschap retourneert de machinenaam. De verklaring van Microsoft is dat het de Windows-computernaam retourneert waarop de serverinstantie wordt uitgevoerd.
Microsoft stelt ook dat "Voor een geclusterde instantie, een instantie van SQL Server die wordt uitgevoerd op een virtuele server op Microsoft Cluster Service, wordt de naam van de virtuele server geretourneerd".
Voor zover de InstanceName
eigenschap gaat, retourneert het de naam van de instantie naar which
de gebruiker is verbonden.
Het retourneert echter NULL
als de instantienaam de standaardinstantie is, als de invoer niet geldig is, of fout.
In mijn geval is de instantienaam de standaardinstantie en kreeg ik NULL
.