Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Aplica a:SQL Server
Azure SQL Database
Azure SQL Managed Instance
Azure Synapse Analytics
Sistema 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 |
|---|---|---|
CollationTipo 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. |
ComparisonStyleTipo 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 anchoPor 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. |
EditionTipo 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. |
IsAnsiNullDefaultTipo de datos: int |
La base de datos sigue las reglas ISO para permitir NULL valores. |
-
1:Verdadero- 0:Falso- NULL: entrada no válida |
IsAnsiNullsEnabledTipo de datos: int |
Todas las comparaciones con una NULL evaluación desconocida. |
-
1:Verdadero- 0:Falso- NULL: entrada no válida |
IsAnsiPaddingEnabledTipo 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 |
IsAnsiWarningsEnabledTipo 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 |
IsArithmeticAbortEnabledTipo 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 |
IsAutoCloseTipo 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 |
IsAutoCreateStatisticsTipo 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 |
IsAutoCreateStatisticsIncrementalTipo 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álidaSe aplica a: SQL Server 2014 (12.x) y versiones posteriores. |
IsAutoShrinkTipo 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 |
IsAutoUpdateStatisticsTipo 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 |
IsCloneTipo 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álidaSe aplica a: SQL Server 2014 (12.x) SP2 y versiones posteriores. |
IsCloseCursorsOnCommitEnabledTipo de datos: int |
Cuando se confirma una transacción, se cierran todos los cursores abiertos. |
-
1:Verdadero- 0:Falso- NULL: entrada no válida |
IsDatabaseSuspendedForSnapshotBackupTipo de datos: int |
La base de datos está suspendida. |
-
1:Verdadero- 0:Falso- NULL: entrada no válida |
IsFulltextEnabledTipo 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álidaSe 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. |
IsInStandByTipo 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 |
IsLocalCursorsDefaultTipo de datos: int |
De forma predeterminada, las declaraciones de cursor son LOCAL. |
-
1:Verdadero- 0:Falso- NULL: entrada no válida |
IsMemoryOptimizedElevateToSnapshotEnabledTipo 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:FalsoSe aplica a: SQL Server 2014 (12.x) y versiones posteriores. |
IsMergePublishedTipo 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 |
IsNullConcatTipo de datos: int |
El operando de concatenación null produce NULL. |
-
1:Verdadero- 0:Falso- NULL: entrada no válida |
IsNumericRoundAbortEnabledTipo 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 |
IsOptimizedLockingOnTipo de datos: int |
El bloqueo optimizado está habilitado para la base de datos. |
-
1:Verdadero- 0:Falso- NULL:No disponibleSe 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. |
IsParameterizationForcedTipo de datos: int |
PARAMETERIZATION la opción de base de datos SET es FORCED. |
-
1:Verdadero- 0:Falso- NULL: entrada no válida |
IsQuotedIdentifiersEnabledTipo de datos: int |
Se pueden usar comillas dobles en los identificadores. |
-
1:Verdadero- 0:Falso- NULL: entrada no válida |
IsPublishedTipo 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 |
IsRecursiveTriggersEnabledTipo de datos: int |
Se habilita la activación recursiva de desencadenadores. |
-
1:Verdadero- 0:Falso- NULL: entrada no válida |
IsSubscribedTipo de datos: int |
La base de datos está suscrita a una publicación. |
-
1:Verdadero- 0:Falso- NULL: entrada no válida |
IsSyncWithBackupTipo 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 |
IsTornPageDetectionEnabledTipo 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 |
IsVerifiedCloneTipo 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álidaSe aplica a: SQL Server 2016 (13.x) SP2 y versiones posteriores. |
IsXTPSupportedTipo 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 aplicableSe aplica a: SQL Server 2016 (13.x) y versiones posteriores, y Azure SQL Database. |
LastGoodCheckDbTimeTipo 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álidaAplica 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. |
LCIDTipo de datos: int |
El identificador de configuración regional (LCID) de Windows para la intercalación. | Valor de LCID (en formato decimal). |
MaxSizeInBytesTipo 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 iniciadoAplica a: Azure SQL Database, base de datos SQL en Microsoft Fabric y Azure Synapse Analytics. |
RecoveryTipo 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 |
ServiceObjectiveTipo 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 |
ServiceObjectiveIdTipo de datos: uniqueidentifier |
El identificador del objetivo del servicio en SQL Database. | Identificador del objetivo de servicio. |
SQLSortOrderTipo 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. |
StatusTipo 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 |
UpdateabilityTipo 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. |
UserAccessTipo 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 |
VersionTipo 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. |
ReplicaIDTipo 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');