sql >> Databáze >  >> RDS >> Sqlserver

2 způsoby, jak vrátit název serveru v SQL Server (T-SQL)

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 .


  1. Proč dostanu výjimku OutOfRange ve funkci GetOrdinal tohoto pole CLOB?

  2. Vygenerujte časové období ze dvou datových sloupců

  3. MySQL COALESCE a funkce NULLIF

  4. Jak vypočítat celkové hodiny cesty mezi městem x a y a naopak