
Funciones de configuración de SQL Server
Las funciones de configuración devuelve información acerca de las opciones de configuración actuales.
Las funciones de configuración son las siguiente:
Función | Descripción |
@@DATEFIRST | Devuelve el valor actual para Set DateFirst |
@@OPTIONS | Devuelve información acerca de las opciones SET actuales. |
@@DBTS | Devuelve el valor del tipo de datos timestamp actual |
@@REMSERVER | Devuelve el nombre del servidor de base de datos remoto de SQL Server, tal y como aparece en el registro de inicio de sesión. |
@@LANGID | Devuelve el identificador (Id.) de idioma local del idioma que se está utilizando actualmente. |
@@SERVERNAME | Devuelve el nombre del servidor local que ejecuta SQL Server. |
@@LANGUAGE | Devuelve el nombre del idioma en uso. |
@@SERVICENAME | Devuelve el nombre de la clave del Registro bajo la cual se ejecuta SQL Server. @@SERVICENAME devuelve ‘MSSQLSERVER’ Si la instancia actual es la instancia predeterminada, esta función devuelve el nombre de instancia si la instancia actual es una instancia con nombre. |
@@LOCK_TIMEOUT | Devuelve el valor actual de tiempo de espera de bloqueo en milisegundos para la sesión actual. |
@@SPID | Devuelve el Id. de sesión del proceso de usuario actual. |
@@MAX_CONNECTIONS | Devuelve el número máximo de conexiones de usuario simultáneas que se permiten en una instancia de SQL Server. |
@@TEXTSIZE | Devuelve el valor actual de la TEXTSIZE opción. |
@@MAX_PRECISION | Devuelve el nivel de precisión utilizado por decimal y numérico tipos de datos según lo establecen actualmente en el servidor. |
@@VERSION | Devuelve información del sistema y la compilación para la instalación actual de SQL Server. |
@@NESTLEVEL | Devuelve el nivel de anidamiento de la ejecución del procedimiento almacenado actual (inicialmente 0) en el servidor local. |
Ejemplos
— Ver el primer día de la semana
select @@DATEFIRST
go
— Establece el primer día de la semana el jueves
set datefirst 4
go
— Listar el primer día de al semana, el número de día de la semana y el nombre del día de la semana
select @@DATEFIRST As ‘Primer día de semana’,
DATEPART(dw,GetDate()) As ‘Dia actual’,
DATENAME(dw,GetDate()) As ‘Día de la semana’
go
— Ver el valor decimal de las opciones set
select @@OPTIONS
go
— Resultado: 5496
— El valor de TimeStamp para Northwind
use Northwind
go
Select @@DBTS
go
— Resultado: 0x0000000000001770
— Servidor Remoto
select @@REMSERVER
go
— Aparece Null cuando no existe configurado servidores remotos.
— Identificar de idioma, el nombre del idioma y nombre del servidor.
select @@LANGID As ‘Id. de Idioma’, @@LANGUAGE As ‘Idioma’, @@SERVICENAME As ‘Instancia’
go
— Tiempo de espera
select @@LOCK_TIMEOUT
go
Nota:
SET LOCK_TIMEOUT permite a una aplicación establecer el tiempo máximo que espera una instrucción en un recurso bloqueado.
Cuando una instrucción ha esperado más tiempo que el indicado en LOCK_TIMEOUT, la instrucción bloqueada se cancela automáticamente y se devuelve un mensaje de error a la aplicación.
@@LOCK_TIMEOUT devuelve un valor de -1 si SET LOCK_TIMEOUT aún no se ha ejecutado en la sesión actual.
— Id. de la sesión
select @@SPID
go
— Máxima cantidad de conexiones
select @@MAX_CONNECTIONS
go
— Valor de la opción TextSize
select @@TEXTSIZE
go
— Resultado: 2147483647
— Precisión para valores decimal y numérico
select @@MAX_PRECISION
go
— Resultado: 38
— Versión de SQL Server
select @@VERSION
go
Resultado: Microsoft SQL Server 2014 – 12.0.4213.0 (X64)
Jun 9 2015 12:06:16
Copyright (c) Microsoft Corporation
Developer Edition (64-bit) on Windows NT 6.1 <X64> (Build 7601: Service Pack 1)
— Nivel de anidamiento
select @@NESTLEVEL
go
Notas:
– Cuando desde un procedimiento almacenado se llama a otro procedimientos almacenado el valor de @@NestLevel aumenta en 1
– El nivel máximo es 32. Al sobrepasarlo la transacción termina automáticamente.