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:
@@SERVERNAMEfornece o nome do servidor local atualmente configurado.- O
ServerNamefornece 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 .