SERVERPROPERTY (Transact-SQL)

Se aplica a:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse AnalyticsAnalytics Platform System (PDW)

Devuelve información de la propiedad acerca de la instancia del servidor.

Convenciones de sintaxis de Transact-SQL

Nota:

El identificador de Microsoft Entra se conocía anteriormente como Azure Active Directory (Azure AD).

Sintaxis

SERVERPROPERTY ( 'propertyname' )

Importante

Los números de versión de Motor de base de datos de SQL Server y Azure SQL Database no son comparables entre sí y representan los números de compilación internos de estos productos independientes. Motor de base de datos de Azure SQL Database se basa en la misma base de código que Motor de base de datos de SQL Server. Lo más importante es que Motor de base de datos en Azure SQL Database siempre tiene los bits de SQL Motor de base de datos más recientes. Por ejemplo, la versión 12 de Azure SQL Database es más reciente que la versión 16 de SQL Server.

Nota:

Para ver la sintaxis de Transact-SQL para SQL Server 2014 (12.x) y versiones anteriores, consulte Versiones anteriores de la documentación.

Argumentos

propertyname

Una expresión que contiene la información de propiedad que se va a devolver para el servidor. propertyname puede ser uno de los valores a continuación. El uso de un nombre de propiedad no válido o no admitido en esa versión del motor de base de datos devolverá NULL.

Propiedad Valores devueltos
BuildClrVersion Versión de Common Language Runtime (CLR) de Microsoft .NET Framework que se usó al generar la instancia de SQL Server.

NULL = La entrada no es válida, es un error o no es aplicable.

Tipo de datos base: nvarchar(128)
Collation El nombre de la intercalación predeterminada para el servidor.

NULL = La entrada no es válida o es un error.

Tipo de datos base: nvarchar(128)
CollationID Id. de la intercalación de SQL Server.

Tipo de datos base: int
ComparisonStyle Estilo de comparación de Windows de la intercalación.

Tipo de datos base: int
ComputerNamePhysicalNetBIOS El nombre NetBIOS del equipo local en el que se está ejecutando la instancia de SQL Server.

En el caso de una instancia en clúster de SQL Server en un clúster de conmutación por error, este valor cambia conforme la instancia de SQL Server se conmuta por error con otros nodos del clúster de conmutación por error.

En una instancia independiente de SQL Server, este valor permanece constante y devuelve el mismo valor que la propiedad MachineName.

Nota: Si la instancia de SQL Server se encuentra en un clúster de conmutación por error y desea obtener el nombre de la instancia en clúster de conmutación por error, utilice la propiedad MachineName.

NULL = La entrada no es válida, es un error o no es aplicable.

Tipo de datos base: nvarchar(128)
Edition Edición de producto instalada de la instancia de SQL Server. Use el valor de esta propiedad para determinar las características y los límites, como por ejemplo Límites de la capacidad de cálculo de cada edición de SQL Server. Las versiones de 64 bits del Motor de base de datos anexan (64 bits) a la versión.

Devuelve:

'Enterprise Edition'

"Enterprise Edition: licencia basada en núcleo".

'Enterprise Evaluation Edition'

'Business Intelligence Edition'

'Developer Edition'

'Express Edition'

'Express Edition with Advanced Services'

'Standard Edition'

'Web Edition'

"SQL Azure" indica SQL Database o Azure Synapse Analytics

"Azure SQL Edge Developer" indica la edición de solo desarrollo para Azure SQL Edge

"Azure SQL Edge" indica la edición de pago para Azure SQL Edge

Tipo de datos base: nvarchar(128)
EditionID EditionID representa la edición instalada de la instancia de SQL Server. Use el valor de esta propiedad para determinar las características y los límites, como por ejemplo Límites de la capacidad de cálculo de cada edición de SQL Server.

1804890536 = Enterprise

1872460670 = Enterprise Edition: licencia basada en núcleo

610778273 = Enterprise Evaluation

284895786 = Business Intelligence

-2117995310 = Developer

-1592396055 = Express

-133711905 = Express con Advanced Services

-1534726760 = Standard

1293598313 = Web

1674378470 = SQL Database o Azure Synapse Analytics

-1461570097 = Desarrollador de Azure SQL Edge

1994083197 = Azure SQL Edge

Tipo de base de datos: bigint
EngineEdition Edición de Motor de base de datos de la instancia de SQL Server instalada en el servidor.

1 = Personal o Desktop Engine (No está disponible en SQL Server 2005 (9.x) y versiones posteriores.)

2 = Standard (para Standard, Web y Business Intelligence)

3 = Enterprise (para las ediciones Evaluation, Developer y Enterprise)

4 = Express (para Express, Express con herramientas y Express con Advanced Services)

5 = SQL Database

6 = Azure Synapse Analytics

8 = Instancia administrada de Azure SQL

9 = Azure SQL Edge (para todas las ediciones de Azure SQL Edge)

11 = Grupo de SQL sin servidor de Azure Synapse

Tipo de datos base: int
FilestreamConfiguredLevel Nivel configurado de acceso de FILESTREAM. Para más información, vea filestream access level (opción de configuración del servidor).

0 = FILESTREAM está deshabilitado

1 = FILESTREAM está habilitado para el acceso Transact-SQL

2 = FILESTREAM está habilitado para el acceso de transmisión por secuencias de Transact-SQL y Win32.

3 = FILESTREAM está habilitado para el acceso de transmisión por secuencias de Transact-SQL y Win32 tanto local como remoto.

Tipo de datos base: int
FilestreamEffectiveLevel Nivel efectivo de acceso de FILESTREAM. Este valor puede ser diferente de FilestreamConfiguredLevel si el nivel ha cambiado y queda pendiente un reinicio de la instancia o del equipo. Para más información, vea filestream access level (opción de configuración del servidor).

0 = FILESTREAM está deshabilitado

1 = FILESTREAM está habilitado para el acceso Transact-SQL

2 = FILESTREAM está habilitado para el acceso de transmisión por secuencias de Transact-SQL y Win32.

3 = FILESTREAM está habilitado para el acceso de transmisión por secuencias de Transact-SQL y Win32 tanto local como remoto.

Tipo de datos base: int
FilestreamShareName Nombre del recurso compartido usado por FILESTREAM.

NULL = La entrada no es válida, es un error o no es aplicable.

Tipo de datos base: nvarchar(128)
HadrManagerStatus Válido para : SQL Server 2012 (11.x) y versiones posteriores.

Indica si el administrador de Grupos de disponibilidad AlwaysOn ha iniciado.

0 = No iniciado, pendiente de comunicación.

1 = Iniciado y en ejecución.

2 = No iniciado y con error.

NULL = La entrada no es válida, es un error o no es aplicable.

Tipo de datos base: int
InstanceDefaultBackupPath Válido para : SQL Server 2019 (15.x) y versiones posteriores.

Nombre de la ruta de acceso predeterminada a los archivos de copia de seguridad de la instancia.
InstanceDefaultDataPath Se aplica a: SQL Server 2012 (11.x) hasta la versión actual en actualizaciones a partir de finales de 2015.

Nombre de la ruta de acceso predeterminada a los archivos de datos de instancia.

Tipo de datos base: nvarchar(128)
InstanceDefaultLogPath Se aplica a: SQL Server 2012 (11.x) hasta la versión actual en actualizaciones a partir de finales de 2015.

Nombre de la ruta de acceso predeterminada a los archivos de registro de instancia.

Tipo de datos base: nvarchar(128)
InstanceName Nombre de la instancia a la que está conectado el usuario.

Devuelve NULL si el nombre de la instancia es la instancia predeterminada o si es una entrada no válida o un error.

NULL = La entrada no es válida, es un error o no es aplicable.

Tipo de datos base: nvarchar(128)
IsAdvancedAnalyticsInstalled Devuelve 1 si se ha instalado la característica Análisis avanzado durante la instalación; 0 si no se instaló Análisis avanzado.

Tipo de datos base: int
IsBigDataCluster Introducido en SQL Server 2019 (15.x) a partir de CU 4.

Devuelve 1 si la instancia es un clúster de macrodatos de SQL Server; en caso contrario, devuelve 0.

Tipo de datos base: int
IsClustered La instancia del servidor está configurada en un clúster de conmutación por error.

1 = Clúster.

0 = No clúster.

NULL = La entrada no es válida, es un error o no es aplicable.

Tipo de datos base: int
IsExternalAuthenticationOnly Se aplica a: Azure SQL Database y Azure SQL Managed Instance.

Devuelve si la autenticación solo de Microsoft Entra está habilitada.

1 = La autenticación solo entra de Microsoft está habilitada.

0 = La autenticación solo entra de Microsoft está deshabilitada.

Tipo de datos base: int
IsExternalGovernanceEnabled Se aplica a: SQL Server 2022 (16.x) y versiones posteriores.

Devuelve si están habilitadas las directivas de acceso de Microsoft Purview.

1 = La gobernanza externa está habilitada.

0 = La gobernanza externa está deshabilitada.

Tipo de datos base: int
IsFullTextInstalled Los componentes de indización de texto completo y semántica están instalados en la instancia actual de SQL Server.

1 = Los componentes de indización de texto completo y semántica están instalados.

0 = Los componentes de indexación de texto completo y semántica no están instalados.

NULL = La entrada no es válida, es un error o no es aplicable.

Tipo de datos base: int
IsHadrEnabled Válido para : SQL Server 2012 (11.x) y versiones posteriores.

Grupos de disponibilidad AlwaysOn está habilitado en esta instancia del servidor.

0 = La característica Grupos de disponibilidad AlwaysOn está deshabilitada.

1 = La característica Grupos de disponibilidad AlwaysOn está habilitada.

NULL = La entrada no es válida, es un error o no es aplicable.

Tipo de datos base: int

Para que las réplicas de disponibilidad se creen y se ejecuten en una instancia de SQL Server, Grupos de disponibilidad AlwaysOn debe estar habilitado en la instancia del servidor. Para obtener más información, vea Habilitar y deshabilitar grupos de disponibilidad AlwaysOn (SQL Server).

Nota: La propiedad IsHadrEnabled pertenece solamente a Grupos de disponibilidad AlwaysOn. Otras características de alta disponibilidad o de recuperación ante desastres, como la creación de reflejo de la base de datos o el trasvase de registros, no se ven afectadas por esta propiedad de servidor.
IsIntegratedSecurityOnly El servidor está en modo de seguridad integrada.

1= Seguridad integrada (Autenticación de Windows)

0 = Seguridad no integrada. (Tanto la autenticación de Windows como la autenticación de SQL Server).

NULL = La entrada no es válida, es un error o no es aplicable.

Tipo de datos base: int
IsLocalDB Válido para : SQL Server 2012 (11.x) y versiones posteriores.

El servidor es una instancia de SQL Server Express LocalDB.

NULL = La entrada no es válida, es un error o no es aplicable.

Tipo de datos base: int
IsPolyBaseInstalled Se aplica a: SQL Server 2016 (13.x).

Devuelve un valor que indica si la instancia del servidor tiene instalada la característica PolyBase.

0 = PolyBase no está instalado.

1 = PolyBase está instalada.

Tipo de datos base: int
IsServerSuspendedForSnapshotBackup El servidor está en modo de suspensión y requiere la reanudación del nivel del servidor.

1 = Suspendido

0 = No suspendido

Tipo de datos base: int
IsSingleUser El servidor está en modo de usuario único.

1 = Usuario único.

0 = Usuario no único.

NULL = La entrada no es válida, es un error o no es aplicable.

Tipo de datos base: int
IsTempDbMetadataMemoryOptimized Válido para : SQL Server 2019 (15.x) y versiones posteriores.

Devuelve 1 si tempdb se ha habilitado para usar tablas optimizadas para memoria para metadatos y 0 si tempdb usa tablas normales basadas en disco para los metadatos. Para obtener más información, consulte tempdb Database.

Tipo de datos base: int
IsXTPSupported Se aplica a: SQL Server (SQL Server 2014 (12.x) y versiones posteriores), SQL Database

El servidor admite OLTP en memoria.

1 = El servidor admite OLTP en memoria.

0 = El servidor no admite OLTP en memoria.

NULL = La entrada no es válida, es un error o no es aplicable.

Tipo de datos base: int
LCID Identificador de configuración regional (LCID) de Windows de la intercalación.

Tipo de datos base: int
LicenseType Sin usar. El producto SQL Server no conserva ni mantiene la información sobre la licencia. Siempre devuelve DISABLED.

Tipo de datos base: nvarchar(128)
MachineName Nombre del equipo con Windows en el que se está ejecutando la instancia del servidor.

Para una instancia en clúster, una instancia de SQL Server que se ejecuta en el Servicio de Cluster Server de Microsoft, devuelve el nombre del servidor virtual.

NULL = La entrada no es válida, es un error o no es aplicable.

Tipo de datos base: nvarchar(128)
NumLicenses Sin usar. El producto SQL Server no conserva ni mantiene la información sobre la licencia. Siempre devuelve NULL.

Tipo de datos base: int
PathSeparator Se aplica a: SQL Server 2017 (14.x) y posterior.

Devuelve \ en Windows y / en Linux

Tipo de datos base: nvarchar
ProcessID Identificador de proceso del servicio SQL Server. ProcessID es útil para identificar a qué Sqlservr.exe pertenece esta instancia.

NULL = La entrada no es válida, es un error o no es aplicable.

Tipo de datos base: int
ProductBuild Se aplica a: SQL Server 2014 (12.x) a partir de octubre de 2015.

Número de compilación.

Tipo de datos base: nvarchar(128)
ProductBuildType Se aplica a: SQL Server 2012 (11.x) hasta la versión actual en actualizaciones a partir de finales de 2015.

Tipo de compilación de la compilación actual.

Devuelve uno de los valores siguientes:

OD = versión a petición de un cliente específico.

GDR = versión de distribución general publicada en Windows Update.

NULL = no aplicable.

Tipo de datos base: nvarchar(128)
ProductLevel Nivel de la versión de la instancia de SQL Server.

Devuelve uno de los valores siguientes:

'RTM' = Versión comercial original

'SPn' = versión de Service Pack

'CTPn', = versión de Community Technology Preview

Tipo de datos base: nvarchar(128)
ProductMajorVersion Se aplica a: SQL Server 2012 (11.x) hasta la versión actual en actualizaciones a partir de finales de 2015.

Versión principal.

Tipo de datos base: nvarchar(128)
ProductMinorVersion Se aplica a: SQL Server 2012 (11.x) hasta la versión actual en actualizaciones a partir de finales de 2015.

Versión secundaria.

Tipo de datos base: nvarchar(128)
ProductUpdateLevel Se aplica a: SQL Server 2012 (11.x) hasta la versión actual en actualizaciones a partir de finales de 2015.

Nivel de actualización de la compilación actual. CU indica una actualización acumulativa.

Devuelve uno de los valores siguientes:

CUn = Actualización acumulativa

NULL = no aplicable.

Tipo de datos base: nvarchar(128)
ProductUpdateReference Se aplica a: SQL Server 2012 (11.x) hasta la versión actual en actualizaciones a partir de finales de 2015.

Artículo de Knowledge Base para esa versión.

Tipo de datos base: nvarchar(128)
ProductVersion Versión de la instancia de SQL Server con el formato major.minor.build.revision.

Tipo de datos base: nvarchar(128)
ResourceLastUpdateDateTime Devuelve la fecha y hora de la última actualización de la base de datos de recursos.

Tipo de datos base: datetime
ResourceVersion Devuelve la versión de la base de datos de recursos.

Tipo de datos base: nvarchar(128)
ServerName La información del servidor Windows y de la instancia asociada con una instancia especificada de SQL Server.

NULL = La entrada no es válida o es un error.

Tipo de datos base: nvarchar(128)
SqlCharSet Id. del juego de caracteres de SQL a partir del Id. de intercalación.

Tipo de datos base: tinyint
SqlCharSetName Juego de caracteres de SQL a partir de la intercalación.

Tipo de datos base: nvarchar(128)
SqlSortOrder Id. de criterio de ordenación de SQL a partir de la intercalación.

Tipo de datos base: tinyint
SqlSortOrderName Nombre de criterio de ordenación de SQL a partir de la intercalación.

Tipo de datos base: nvarchar(128)
SuspendedDatabaseCount Número de bases de datos suspendidas en el servidor.

Tipo de datos base: int

Tipos de valores devueltos

sql_variant

Observaciones

ServerName, propiedad

La propiedad ServerName de la función SERVERPROPERTY y @@SERVERNAME devuelven información parecida. La propiedad ServerName proporciona el nombre de la instancia y el servidor Windows que forman la instancia de servidor única. @@SERVERNAME proporciona el nombre del servidor local configurado actualmente.

La propiedad ServerName y @@SERVERNAME devuelven la misma información si no se ha cambiado el nombre del servidor predeterminado en el momento de la instalación. El nombre del servidor local se puede configurar ejecutando lo siguiente:

EXEC sp_dropserver 'current_server_name';
GO
EXEC sp_addserver 'new_server_name', 'local';
GO

Si se ha seleccionado un nombre para el servidor local distinto del predeterminado durante la instalación, @@SERVERNAME devuelve el nombre nuevo.

La propiedad ServerName de la función SERVERPROPERTY devuelve el nombre del servidor de Windows tal y como se guarda. En versiones principales anteriores, devolvía mayúsculas. Este comportamiento cambió de nuevo a mayúsculas entre SQL Server 2019 (15.x) CU 9 y CU 12, pero a partir de la versión SQL Server 2019 (15.x) CU 13 se devolverá el nombre del servidor tal y como se guarda.

Si el nombre del servidor de Windows contiene caracteres en minúsculas, este cambio de comportamiento puede provocar diferencias entre la propiedad ServerName de la función SERVERPROPERTY y @@SERVERNAME (mayúsculas frente a minúsculas), aunque no cambie el nombre del servidor.

Considere que tiene un servidor denominado server01, con una instancia de SQL Server denominada INST1. En la tabla siguiente se resume el cambio de comportamiento entre diferentes compilaciones de SQL Server 2019 (15.x):

Notas de la versión de SQL Server 2019 (15.x) SERVERPROPERTY('ServerName') Información adicional
RTM SERVER01\INST1 Devuelve la propiedad ServerName en mayúsculas.
CU 1 – CU 8 server01\INST1 Devuelve la propiedad ServerName tal como está, sin cambiar a mayúsculas.
CU 9 – CU 12 SERVER01\INST1 Devuelve la propiedad ServerName en mayúsculas.
CU 13 y versiones posteriores server01\INST1 Devuelve la propiedad ServerName tal y como está, sin cambiar a mayúsculas.

Propiedades de la versión

La función SERVERPROPERTY devuelve propiedades sueltas relacionadas con la información de la versión, mientras que la función @@VERSION combina la salida en una cadena. Si la aplicación requiere cadenas con las propiedades por separado, puede usar la función SERVERPROPERTY para devolverlas en lugar de analizar los resultados de @@VERSION.

Permisos

Todos los usuarios pueden consultar las propiedades del servidor.

Ejemplos

En este ejemplo se usa la función SERVERPROPERTY en una instrucción SELECT para devolver información sobre la instancia actual de SQL Server.

SELECT
 SERVERPROPERTY('MachineName') AS ComputerName,
 SERVERPROPERTY('ServerName') AS InstanceName,
 SERVERPROPERTY('Edition') AS Edition,
 SERVERPROPERTY('ProductVersion') AS ProductVersion,
 SERVERPROPERTY('ProductLevel') AS ProductLevel;
GO

Para obtener una lista de las características admitidas por ediciones de SQL Server en Windows, vea: