Zde je několik metod T-SQL, které můžete použít k vrácení názvu serveru na SQL Server.
@@NÁZEV SERVERU
@@SERVERNAME
konfigurační funkce je navržena speciálně pro vrácení názvu místního serveru, na kterém běží SQL Server.
Chcete-li získat název serveru, jednoduše jej vyberete pomocí SELECT
prohlášení.
SELECT @@SERVERNAME;
Výsledek v mém systému:
mssql2019_1
To mi říká, že název mého serveru je mssql2019_1
.
SERVERPROPERTY(Název_serveru)
SERVERPROPERTY()
funkci metadat lze také použít k vrácení názvu serveru a mnoha dalších vlastností.
Chcete-li vrátit název serveru, musíte předat ServerName
jako argument.
SELECT SERVERPROPERTY('ServerName');
Výsledek:
mssql2019_1
V mém případě je to stejný výstup.
Rozdíl mezi těmito dvěma funkcemi
Dvě výše uvedené funkce produkují stejný výstup na mém počítači, ale možná zjistíte, že na vašem počítači produkují mírně odlišný výstup.
Tyto dvě funkce jsou podobné, ale mírně odlišné. Zde je rozdíl:
@@SERVERNAME
poskytuje aktuálně nakonfigurovaný název místního serveru.ServerName
vlastnost poskytuje server Windows a název instance, které dohromady tvoří jedinečnou instanci serveru.
Například v systému Windows, pokud je název vašeho počítače Felix
a vaše instance SQL Server se nazývá sql1
, běžící SERVERPROPERTY('ServerName')
může vrátit Felix\sql1
.
Název počítače a název instance
SERVERPROPERTY()
funkci lze také použít k vrácení názvu počítače a také názvu instance serveru SQL.
Výsledky, které získáte, však budou záviset na několika věcech (zmíněných níže).
Zde je to, co dostanu na svém Macu se systémem SQL Server pro Linux prostřednictvím kontejneru Docker.
SELECT
SERVERPROPERTY('MachineName') AS MachineName,
SERVERPROPERTY('InstanceName') AS InstanceName;
Výsledek:
+---------------+----------------+ | MachineName | InstanceName | |---------------+----------------| | mssql2019_1 | NULL | +---------------+----------------+
Nejprve MachineName
vlastnost vrací název počítače. Vysvětlení společnosti Microsoft je, že vrací název počítače se systémem Windows, na kterém běží instance serveru.
Microsoft také uvádí, že „U klastrované instance, instance SQL Server spuštěného na virtuálním serveru na Microsoft Cluster Service, vrací název virtuálního serveru.“
Až k InstanceName
vlastnost jde, vrátí název instance na which
uživatel je připojen.
Vrátí však NULL
pokud je název instance výchozí instance, pokud vstup není platný, nebo došlo k chybě.
V mém případě je název instance výchozí instance a mám NULL
.