Aqui estão alguns métodos T-SQL que você pode usar para retornar o nome do servidor no SQL Server.
@@SERVERNAME
O
@@SERVERNAME
A função de configuração foi projetada especificamente para retornar o nome do servidor local que está executando o SQL Server. Para obter o nome do servidor, basta selecioná-lo usando um
SELECT
demonstração. SELECT @@SERVERNAME;
Resultado no meu sistema:
mssql2019_1
Isso me diz que o nome do meu servidor é
mssql2019_1
. SERVERPROPERTY(ServerName)
A
SERVERPROPERTY()
A função de metadados também pode ser usada para retornar o nome do servidor, bem como muitas outras propriedades. Para retornar o nome do servidor, você precisa passar
ServerName
como argumento. SELECT SERVERPROPERTY('ServerName');
Resultado:
mssql2019_1
No meu caso, é a mesma saída.
Diferença entre essas duas funções
As duas funções acima produzem a mesma saída na minha máquina, mas você pode descobrir que elas produzem uma saída ligeiramente diferente na sua.
As duas funções são semelhantes, mas ligeiramente diferentes. Aqui está a diferença:
@@SERVERNAME
fornece o nome do servidor local atualmente configurado.- O
ServerName
fornece o servidor Windows e o nome da instância que juntos formam a instância do servidor exclusiva.
Por exemplo, em um sistema Windows, se o nome do seu computador for
Felix
, e sua instância do SQL Server é chamada de sql1
, executando SERVERPROPERTY('ServerName')
pode retornar Felix\sql1
. O nome da máquina e o nome da instância
A
SERVERPROPERTY()
A função também pode ser usada para retornar o nome da máquina, bem como o nome da instância do SQL Server. No entanto, os resultados obtidos dependerão de algumas coisas (mencionadas abaixo).
Aqui está o que recebo no meu Mac executando o SQL Server para Linux por meio de um contêiner do Docker.
SELECT
SERVERPROPERTY('MachineName') AS MachineName,
SERVERPROPERTY('InstanceName') AS InstanceName;
Resultado:
+---------------+----------------+ | MachineName | InstanceName | |---------------+----------------| | mssql2019_1 | NULL | +---------------+----------------+
Primeiro, o
MachineName
propriedade retorna o nome da máquina. A explicação da Microsoft é que ela retorna o nome do computador Windows no qual a instância do servidor está sendo executada. A Microsoft também afirma que “Para uma instância clusterizada, uma instância do SQL Server em execução em um servidor virtual no Microsoft Cluster Service, ele retorna o nome do servidor virtual”.
Até o
InstanceName
vai, ele retorna o nome da instância para which
o usuário está conectado. No entanto, ele retorna
NULL
se o nome da instância for a instância padrão, se a entrada não for válida ou erro. No meu caso, o nome da instância é a instância padrão e obtive
NULL
.