Aquí hay un par de métodos T-SQL que puede usar para devolver el nombre del servidor en SQL Server.
@@NOMBRE DEL SERVIDOR
El @@SERVERNAME
La función de configuración está diseñada específicamente para devolver el nombre del servidor local que ejecuta SQL Server.
Para obtener el nombre del servidor, simplemente selecciónelo con SELECT
declaración.
SELECT @@SERVERNAME;
Resultado en mi sistema:
mssql2019_1
Esto me dice que el nombre de mi servidor es mssql2019_1
.
PROPIEDAD DEL SERVIDOR(NombreServidor)
La SERVERPROPERTY()
La función de metadatos también se puede usar para devolver el nombre del servidor, así como muchas otras propiedades.
Para devolver el nombre del servidor, debe pasar ServerName
como argumento.
SELECT SERVERPROPERTY('ServerName');
Resultado:
mssql2019_1
En mi caso, es la misma salida.
Diferencia entre estas dos funciones
Las dos funciones anteriores producen la misma salida en mi máquina, pero es posible que produzcan una salida ligeramente diferente en la suya.
Las dos funciones son similares, pero ligeramente diferentes. Aquí está la diferencia:
@@SERVERNAME
proporciona el nombre del servidor local actualmente configurado.- El
ServerName
La propiedad proporciona el servidor de Windows y el nombre de la instancia que, en conjunto, conforman la instancia de servidor única.
Entonces, por ejemplo, en un sistema Windows, si el nombre de su computadora es Felix
y su instancia de SQL Server se llama sql1
, ejecutando SERVERPROPERTY('ServerName')
podría devolver Felix\sql1
.
El nombre de la máquina y el nombre de la instancia
La SERVERPROPERTY()
La función también se puede usar para devolver el nombre de la máquina, así como el nombre de la instancia de SQL Server.
Sin embargo, los resultados que obtenga dependerán de un par de cosas (mencionadas a continuación).
Esto es lo que obtengo en mi Mac con SQL Server para Linux a través de un contenedor Docker.
SELECT
SERVERPROPERTY('MachineName') AS MachineName,
SERVERPROPERTY('InstanceName') AS InstanceName;
Resultado:
+---------------+----------------+ | MachineName | InstanceName | |---------------+----------------| | mssql2019_1 | NULL | +---------------+----------------+
Primero, el MachineName
La propiedad devuelve el nombre de la máquina. La explicación de Microsoft es que devuelve el nombre de la computadora de Windows en la que se ejecuta la instancia del servidor.
Microsoft también afirma que "Para una instancia en clúster, una instancia de SQL Server que se ejecuta en un servidor virtual en Microsoft Cluster Service, devuelve el nombre del servidor virtual".
En cuanto al InstanceName
propiedad va, devuelve el nombre de la instancia a which
el usuario está conectado.
Sin embargo, devuelve NULL
si el nombre de la instancia es la instancia predeterminada, si la entrada no es válida o error.
En mi caso, el nombre de la instancia es la instancia predeterminada y obtuve NULL
.