Compartir a través de


DATABASEPROPERTYEX (Transact-SQL)

Aplica a:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse AnalyticsSistema de Plataforma de Analítica (PDW)Base de datos SQL en Microsoft Fabric

Para una base de datos especificada en SQL Server, la DATABASEPROPERTYEX función devuelve la configuración actual de la propiedad o la opción de base de datos especificada.

Convenciones de sintaxis de Transact-SQL

Sintaxis

DATABASEPROPERTYEX ( database , property )

Argumentos

base de datos

Expresión que especifica el nombre de la base de datos para la que DATABASEPROPERTYEX devuelve la información de propiedad con nombre. database tiene un tipo de datos nvarchar(128) .

Para SQL Database, DATABASEPROPERTYEX necesita el nombre de la base de datos actual. Devuelve NULL para todas las propiedades si se le asigna un nombre de base de datos diferente.

propiedad

Una expresión que especifica el nombre de la propiedad de base de datos que se va a devolver. property tiene un tipo de datos varchar(128) y admite uno de los valores de esta tabla:

Nota

Si la base de datos aún no se ha iniciado, llama a para devolver DATABASEPROPERTYEX si NULL recupera esos valores mediante acceso directo a DATABASEPROPERTYEX la base de datos, en lugar de recuperarlos de metadatos. Una base de datos con establecida AUTO_CLOSEen ON , o sin conexión, se define como "no iniciado".

Propiedad Descripción Valor devuelto
Collation

Tipo de datos: nvarchar(128)
Nombre de intercalación predeterminado para la base de datos. Nombre de intercalación. Si NULLes , no se inicia la base de datos.
ComparisonStyle

Tipo de datos: int
El estilo de comparación de Windows de la intercalación. Use los siguientes valores de estilo para compilar un mapa de bits para el valor terminado ComparisonStyle :

- 1: omitir mayúsculas y minúsculas
- 2: omitir énfasis
- 65536: omitir kana
- 131072: omitir el ancho

Por ejemplo, el valor predeterminado de es el resultado de 196609 combinar mayúsculas y minúsculas, omitir kana e ignorar las opciones de ancho .
Devuelve el estilo de comparación.

Devuelve 0 para todas las intercalaciones binarias.
Edition

Tipo de datos: nvarchar(64)
El nivel de servicio o edición de la base de datos. - General Purpose
- Business Critical
- Basic
- Standard
- Premium
- System (para master la base de datos)
- FabricSQLDB: Base de datos SQL en Microsoft Fabric
- NULL: no se ha iniciado la base de datos.

Aplica a: Azure SQL Database, SQL database en Microsoft Fabric, Azure Synapse Analytics.
IsAnsiNullDefault

Tipo de datos: int
La base de datos sigue las reglas ISO para permitir NULL valores. - 1:Verdadero
- 0:Falso
- NULL: entrada no válida
IsAnsiNullsEnabled

Tipo de datos: int
Todas las comparaciones con una NULL evaluación desconocida. - 1:Verdadero
- 0:Falso
- NULL: entrada no válida
IsAnsiPaddingEnabled

Tipo de datos: int
Las cadenas se rellenan a la misma longitud antes de comparar o insertar. - 1:Verdadero
- 0:Falso
- NULL: entrada no válida
IsAnsiWarningsEnabled

Tipo de datos: int
SQL Server emite mensajes de error o de advertencia cuando se producen condiciones de error estándar. - 1:Verdadero
- 0:Falso
- NULL: entrada no válida
IsArithmeticAbortEnabled

Tipo de datos: int
Las consultas se finalizan cuando hay un error de desbordamiento o división por cero durante su ejecución. - 1:Verdadero
- 0:Falso
- NULL: entrada no válida
IsAutoClose

Tipo de datos: int
La base de datos se cierra sin problemas y libera los recursos cuando sale el último usuario. - 1:Verdadero
- 0:Falso
- NULL: entrada no válida
IsAutoCreateStatistics

Tipo de datos: int
El optimizador de consultas crea estadísticas de columna única, según sea necesario, para mejorar el rendimiento de las consultas. - 1:Verdadero
- 0:Falso
- NULL: entrada no válida
IsAutoCreateStatisticsIncremental

Tipo de datos: int
Las estadísticas de columna única creadas automáticamente son incrementales siempre que sea posible. - 1:Verdadero
- 0:Falso
- NULL: entrada no válida

Se aplica a: SQL Server 2014 (12.x) y versiones posteriores.
IsAutoShrink

Tipo de datos: int
Los archivos de base de datos son candidatos para la reducción periódica automática. - 1:Verdadero
- 0:Falso
- NULL: entrada no válida
IsAutoUpdateStatistics

Tipo de datos: int
Cuando una consulta usa estadísticas existentes potencialmente obsoletas, el optimizador de consultas actualiza dichas estadísticas. - 1:Verdadero
- 0:Falso
- NULL: entrada no válida
IsClone

Tipo de datos: int
La base de datos es una copia de solo esquema y estadísticas de una base de datos de usuario creada con DBCC CLONEDATABASE. - 1:Verdadero
- 0:Falso
- NULL: entrada no válida

Se aplica a: SQL Server 2014 (12.x) SP2 y versiones posteriores.
IsCloseCursorsOnCommitEnabled

Tipo de datos: int
Cuando se confirma una transacción, se cierran todos los cursores abiertos. - 1:Verdadero
- 0:Falso
- NULL: entrada no válida
IsDatabaseSuspendedForSnapshotBackup

Tipo de datos: int
La base de datos está suspendida. - 1:Verdadero
- 0:Falso
- NULL: entrada no válida
IsFulltextEnabled

Tipo de datos: int
La base de datos está habilitada para la indización semántica y de texto completo. - 1:Verdadero
- 0:Falso
- NULL: entrada no válida

Se aplica a: SQL Server 2008 (10.0.x) y versiones posteriores.

Nota: El valor de esta propiedad ya no tiene ningún efecto. En las bases de datos de usuario siempre está habilitada la búsqueda de texto completo. Una versión futura de SQL Server quitará esta propiedad. No use esta propiedad en el nuevo trabajo de desarrollo y modifique las aplicaciones que actualmente usan esta propiedad lo antes posible.
IsInStandBy

Tipo de datos: int
La base de datos está en línea como de solo lectura con el registro de restauración permitido. - 1:Verdadero
- 0:Falso
- NULL: entrada no válida
IsLocalCursorsDefault

Tipo de datos: int
De forma predeterminada, las declaraciones de cursor son LOCAL. - 1:Verdadero
- 0:Falso
- NULL: entrada no válida
IsMemoryOptimizedElevateToSnapshotEnabled

Tipo de datos: int
Se accede a las tablas optimizadas para memoria mediante SNAPSHOT aislamiento, cuando la configuración TRANSACTION ISOLATION LEVEL de sesión se establece READ COMMITTEDen , READ UNCOMMITTEDo en un nivel de aislamiento inferior. - 1:Verdadero
- 0:Falso

Se aplica a: SQL Server 2014 (12.x) y versiones posteriores.
IsMergePublished

Tipo de datos: int
SQL Server admite la publicación de tablas de base de datos para la replicación de mezcla, en el caso de que la replicación esté instalada. - 1:Verdadero
- 0:Falso
- NULL: entrada no válida
IsNullConcat

Tipo de datos: int
El operando de concatenación null produce NULL. - 1:Verdadero
- 0:Falso
- NULL: entrada no válida
IsNumericRoundAbortEnabled

Tipo de datos: int
Se generan errores cuando se produce una pérdida de precisión en expresiones. - 1:Verdadero
- 0:Falso
- NULL: entrada no válida
IsOptimizedLockingOn

Tipo de datos: int
El bloqueo optimizado está habilitado para la base de datos. - 1:Verdadero
- 0:Falso
- NULL:No disponible

Se aplica a: SQL Server 2025 (17.x) y versiones posteriores, Azure SQL Database, Azure SQL Managed InstanceAUTD y base de datos SQL en Microsoft Fabric.
IsParameterizationForced

Tipo de datos: int
PARAMETERIZATION la opción de base de datos SET es FORCED. - 1:Verdadero
- 0:Falso
- NULL: entrada no válida
IsQuotedIdentifiersEnabled

Tipo de datos: int
Se pueden usar comillas dobles en los identificadores. - 1:Verdadero
- 0:Falso
- NULL: entrada no válida
IsPublished

Tipo de datos: int
Si la replicación está instalada, SQL Server admite la publicación de tablas de base de datos para la replicación transaccional o de instantáneas. - 1:Verdadero
- 0:Falso
- NULL: entrada no válida
IsRecursiveTriggersEnabled

Tipo de datos: int
Se habilita la activación recursiva de desencadenadores. - 1:Verdadero
- 0:Falso
- NULL: entrada no válida
IsSubscribed

Tipo de datos: int
La base de datos está suscrita a una publicación. - 1:Verdadero
- 0:Falso
- NULL: entrada no válida
IsSyncWithBackup

Tipo de datos: int
La base de datos es una base de datos publicada o una base de datos de distribución y admite una restauración que no interrumpe la replicación transaccional. - 1:Verdadero
- 0:Falso
- NULL: entrada no válida
IsTornPageDetectionEnabled

Tipo de datos: int
Motor de base de datos de SQL Server detecta operaciones de E/S incompletas debido a problemas con el suministro eléctrico u otros errores del sistema. - 1:Verdadero
- 0:Falso
- NULL: entrada no válida
IsVerifiedClone

Tipo de datos: int
La base de datos es una copia solo de esquema y estadísticas de una base de datos de usuario, creada con la WITH VERIFY_CLONEDB opción de DBCC CLONEDATABASE. - 1:Verdadero
- 0:Falso
- NULL: entrada no válida

Se aplica a: SQL Server 2016 (13.x) SP2 y versiones posteriores.
IsXTPSupported

Tipo de datos: int
Indica si la base de datos admite OLTP en memoria. Por ejemplo, la creación y el uso de tablas optimizadas para memoria y módulos compilados de forma nativa.

Específica de SQL Server:

IsXTPSupported es independiente de la existencia de cualquier MEMORY_OPTIMIZED_DATA grupo de archivos, que es necesario para crear In-Memory objetos OLTP.
- 1:Verdadero
- 0:Falso
- NULL: entrada no válida, un error o no aplicable

Se aplica a: SQL Server 2016 (13.x) y versiones posteriores, y Azure SQL Database.
LastGoodCheckDbTime

Tipo de datos: datetime de
Fecha y hora de la última operación correcta DBCC CHECKDB que se ejecutó en la base de datos especificada. Si DBCC CHECKDB no se ha ejecutado en una base de datos, 1900-01-01 00:00:00.000 se devuelve. En el caso de las bases de datos que forman parte de un grupo de disponibilidad, LastGoodCheckDbTime devuelve la fecha y hora de la última operación correcta DBCC CHECKDB que se ejecutó en la réplica principal, independientemente de la réplica desde la que ejecute el comando. NULL: entrada no válida

Aplica a: SQL Server 2016 (13.x) SP2, SQL Server 2017 (14.x) CU9, SQL Server 2019 (15.x) y versiones posteriores, Azure SQL Database y base de datos SQL en Microsoft Fabric.
LCID

Tipo de datos: int
El identificador de configuración regional (LCID) de Windows para la intercalación. Valor de LCID (en formato decimal).
MaxSizeInBytes

Tipo de datos: bigint
Tamaño máximo de la base de datos (en bytes). - Azure SQL Database y Azure Synapse Analytics: el valor se basa en SLO a menos que se haya adquirido almacenamiento adicional.

- Núcleo virtual: el valor está en incrementos de 1 GB hasta el tamaño máximo.

- NULL: la base de datos no se ha iniciado

Aplica a: Azure SQL Database, base de datos SQL en Microsoft Fabric y Azure Synapse Analytics.
Recovery

Tipo de datos: nvarchar(128)
Modelo de recuperación de base de datos. - FULL: modelo de recuperación completa
- BULK_LOGGED: modelo registrado masivamente
- SIMPLE: modelo de recuperación simple
ServiceObjective

Tipo de datos: nvarchar(32)
Describe el nivel de rendimiento de la base de datos en SQL Database, SQL database en Microsoft Fabric o Azure Synapse Analytics. Uno de los siguientes valores:

- NULL: base de datos no iniciada
- Shared (para ediciones Web/Business)
- Basic
- S0
- S1
- S2
- S3
- P1
- P2
- P3
- ElasticPool
- System (para master la base de datos)
- FabricSQLDB: Base de datos SQL en Microsoft Fabric
ServiceObjectiveId

Tipo de datos: uniqueidentifier
El identificador del objetivo del servicio en SQL Database. Identificador del objetivo de servicio.
SQLSortOrder

Tipo de datos: tinyint
Id. de orden de SQL Server compatible con versiones anteriores de SQL Server. - 0: la base de datos usa la intercalación de Windows.

- >0: identificador de criterio de ordenación de SQL Server

- NULL: la entrada no es válida o la base de datos no se ha iniciado.
Status

Tipo de datos: nvarchar(128)
Estado de la base de datos. ONLINE: la base de datos está disponible para la consulta.

Nota: La función puede devolver un estado de mientras se abre la base de ONLINE datos y aún no se ha recuperado. Para identificar si una ONLINE base de datos puede aceptar conexiones, consulte la Collation propiedad de DATABASEPROPERTYEX. La ONLINE base de datos puede aceptar conexiones cuando la intercalación de base de datos devuelve un valor distinto de NULL. Para las bases de datos AlwaysOn, consulte las database_state columnas o database_state_desc de sys.dm_hadr_database_replica_states.

- OFFLINE: la base de datos se desconectaba explícitamente.

- RESTORING: se ha iniciado la restauración de la base de datos.

- RECOVERING: la recuperación de la base de datos se ha iniciado y la base de datos aún no está lista para las consultas.

- SUSPECT: la base de datos no se recuperó.

- EMERGENCY: la base de datos está en estado de emergencia y de solo lectura. El acceso está restringido a los miembros sysadmin
Updateability

Tipo de datos: nvarchar(128)
Indica si los datos se pueden modificar. READ_ONLY: la base de datos admite lecturas de datos, pero no modificaciones de datos.

- READ_WRITE: la base de datos admite lecturas y modificaciones de datos.
UserAccess

Tipo de datos: nvarchar(128)
Indica qué usuarios pueden tener acceso a la base de datos. SINGLE_USER: solo un usuario de db_owner, dbcreator o sysadmin a la vez

- RESTRICTED_USER: solo los miembros de los roles db_owner, dbcreator o sysadmin

- MULTI_USER: todos los usuarios
Version

Tipo de datos: int
Número interno de versión del código de SQL Server con el que se creó la base de datos. Solamente se identifica con fines informativos. No compatible. La compatibilidad con versiones posteriores no está garantizada. - Número de versión: la base de datos está abierta.

- NULL: la base de datos no se ha iniciado.
ReplicaID

Tipo de datos: nvarchar(128)
Identificador de réplica de una base de datos o réplica de hiperescala conectada. Solo devuelve el identificador de réplica de una base de datos o réplica de Hiperescala conectada. Para más información sobre los tipos de réplica, consulte Réplicas secundarias de Hiperescala.

- NULL: no se inicia una base de datos de hiperescala o no se inicia la base de datos.

Se aplica a: Hiperescala de Azure SQL Database.

Tipos de valores devueltos

sql_variant

Excepciones

Devuelve NULL el error o si un autor de la llamada no tiene permiso para ver el objeto.

En SQL Server, un usuario solo puede ver los metadatos de elementos protegibles que posea o para los que se le haya concedido permiso. Esta regla significa que las funciones integradas que emiten metadatos, como OBJECT_ID , por ejemplo, pueden devolverse NULL si el usuario no tiene permisos en el objeto. Para obtener más información, consulte Configuración de visibilidad de metadatos.

Observaciones

DATABASEPROPERTYEX devuelve un único valor de propiedad cada vez. Para ver varios valores de propiedad, use la vista de catálogo sys.databases.

Ejemplos

Los ejemplos de código de este artículo usan la base de datos de ejemplo de AdventureWorks2025 o AdventureWorksDW2025, que puede descargar de la página principal de Ejemplos de Microsoft SQL Server y proyectos de comunidad.

Un. Recuperar el estado de la opción de base de datos de AUTO_SHRINK

En este ejemplo se devuelve el estado de la AUTO_SHRINK opción de base de datos para la AdventureWorks base de datos.

SELECT DATABASEPROPERTYEX('AdventureWorks2022', 'IsAutoShrink');

Este es el conjunto de resultados. Esto indica que AUTO_SHRINK está desactivado.

0

B. Recuperación de la intercalación predeterminada para una base de datos

Este ejemplo devuelve varios atributos de la base de datos AdventureWorks.

SELECT DATABASEPROPERTYEX('AdventureWorks2022', 'Collation') AS Collation,
       DATABASEPROPERTYEX('AdventureWorks2022', 'Edition') AS Edition,
       DATABASEPROPERTYEX('AdventureWorks2022', 'ServiceObjective') AS ServiceObjective,
       DATABASEPROPERTYEX('AdventureWorks2022', 'MaxSizeInBytes') AS MaxSizeInBytes;

Este es el conjunto de resultados.

Collation                     Edition        ServiceObjective  MaxSizeInBytes
----------------------------  -------------  ----------------  --------------
SQL_Latin1_General_CP1_CI_AS  DataWarehouse  DW1000            5368709120

C. Usar DATABASEPROPERTYEX para comprobar la conexión a la réplica

Al usar la característica de escalado horizontal de Azure SQL Database, puede comprobar si está conectado a una réplica de solo lectura o no ejecutando la consulta siguiente en el contexto de la base de datos. READ_ONLY Devuelve cuando está conectado a una réplica de solo lectura. De este modo, también puede identificar cuándo se ejecuta una consulta en una réplica de solo lectura.

SELECT DATABASEPROPERTYEX(DB_NAME(), 'Updateability');