DATABASEPROPERTYEX (Transact-SQL)
Se aplica a: SQL Server Azure SQL Database Azure SQL Managed Instance Azure Synapse Analytics Analytics Platform System (PDW)
Para una base de datos especificada en SQL Server, esta función devuelve la configuración actual de la opción o propiedad de base de datos especificada.
Convenciones de sintaxis de Transact-SQL
Sintaxis
DATABASEPROPERTYEX ( database , property )
Argumentos
database
Una expresión que especifica el nombre de la base de datos para la que DATABASEPROPERTYEX
devolverá la información de la 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 proporciona un nombre de base de datos diferente.
property
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, las llamadas a DATABASEPROPERTYEX
devolverán NULL si DATABASEPROPERTYEX
recupera esos valores mediante el acceso directo de la base de datos, en lugar de hacerlo mediante la recuperación a partir de los metadatos. Si hay una base de datos con AUTO_CLOSE establecido en ON (o, de lo contrario, sin conexión), se definirá como "no iniciada".
Propiedad | Descripción | Valor devuelto |
---|---|---|
Intercalación | Nombre de intercalación predeterminado para la base de datos. | Nombre de intercalación NULL: La base de datos no se ha iniciado. Tipo de datos base: nvarchar(128) |
ComparisonStyle | El estilo de comparación de Windows de la intercalación. Use los siguientes valores de estilo para generar un mapa de bits para el valor ComparisonStyle terminado: Omitir mayúsculas y minúsculas: 1 Omitir acento: 2 Omitir Kana: 65536 Omitir ancho: 131072 Por ejemplo, el valor predeterminado 196609 es el resultado de combinar las opciones de omitir mayúsculas y minúsculas, omitir Kana y omitir ancho. |
Devuelve el estilo de comparación. Devuelve 0 para todas las intercalaciones binarias. Tipo de datos base: int |
Edición | El nivel de servicio o edición de la base de datos. | Se aplica a: Azure SQL Database, Azure Synapse Analytics. De uso general Crítico para la empresa Básico Estándar Premium System (de la base de datos maestra) NULL: La base de datos no se ha iniciado. Tipo de datos base: nvarchar(64) |
IsAnsiNullDefault | La base de datos sigue las reglas ISO para permitir los valores NULL. | 1: TRUE 0: FALSE NULL: Entrada no válida Tipo de datos base: int |
IsAnsiNullsEnabled | Todas las comparaciones con un valor NULL tienen un resultado desconocido. | 1: TRUE 0: FALSE NULL: Entrada no válida Tipo de datos base: int |
IsAnsiPaddingEnabled | Las cadenas se rellenan a la misma longitud antes de comparar o insertar. | 1: TRUE 0: FALSE NULL: Entrada no válida Tipo de datos base: int |
IsAnsiWarningsEnabled | SQL Server emite mensajes de error o de advertencia cuando se producen condiciones de error estándar. | 1: TRUE 0: FALSE NULL: Entrada no válida Tipo de datos base: int |
IsArithmeticAbortEnabled | Las consultas se finalizan cuando hay un error de desbordamiento o división por cero durante su ejecución. | 1: TRUE 0: FALSE NULL: Entrada no válida Tipo de datos base: int |
IsAutoClose | La base de datos se cierra sin problemas y libera los recursos cuando sale el último usuario. | 1: TRUE 0: FALSE NULL: Entrada no válida Tipo de datos base: int |
IsAutoCreateStatistics | El optimizador de consultas crea estadísticas de columna única, según sea necesario, para mejorar el rendimiento de las consultas. | 1: TRUE 0: FALSE NULL: Entrada no válida Tipo de datos base: int |
IsAutoCreateStatisticsIncremental | Las estadísticas de columna única creadas automáticamente son incrementales siempre que sea posible. | Válido para : SQL Server 2014 (12.x) y versiones posteriores. 1: TRUE 0: FALSE NULL: Entrada no válida Tipo de datos base: int |
IsAutoShrink | Los archivos de base de datos son candidatos para la reducción periódica automática. | 1: TRUE 0: FALSE NULL: Entrada no válida Tipo de datos base: int |
IsAutoUpdateStatistics | Cuando una consulta usa estadísticas existentes potencialmente obsoletas, el optimizador de consultas actualiza dichas estadísticas. | 1: TRUE 0: FALSE NULL: Entrada no válida Tipo de datos base: int |
IsClone | La base de datos es una copia de solo estadísticas y esquema de una base de datos de usuario creada con DBCC CLONEDATABASE. Vea este artículo de Soporte técnico de Microsoft para más información. | Se aplica a: SQL Server 2014 (12.x) SP2 y versiones posteriores 1: TRUE 0: FALSE NULL: Entrada no válida Tipo de datos base: int |
IsCloseCursorsOnCommitEnabled | Cuando se confirme una transacción, se cerrarán todos los cursores abiertos. | 1: TRUE 0: FALSE NULL: Entrada no válida Tipo de datos base: int |
IsDatabaseSuspendedForSnapshotBackup | La base de datos está suspendida. | 1: TRUE 0: FALSE NULL: Entrada no válida Tipo de datos base: int |
IsFulltextEnabled | La base de datos está habilitada para la indización semántica y de texto completo. | Se aplica a: SQL Server 2008 (10.0.x) y versiones posteriores. 1: TRUE 0: FALSE NULL: Entrada no válida Tipo de datos base: int 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 nuevos trabajos de desarrollo, y modifique lo antes posible las aplicaciones que la usen actualmente. |
IsInStandBy | La base de datos está en línea como de solo lectura con el registro de restauración permitido. | 1: TRUE 0: FALSE NULL: Entrada no válida Tipo de datos base: int |
IsLocalCursorsDefault | El valor predeterminado de las declaraciones de cursores es LOCAL. | 1: TRUE 0: FALSE NULL: Entrada no válida Tipo de datos base: int |
IsMemoryOptimizedElevateToSnapshotEnabled | Se obtiene acceso a las tablas optimizadas para memoria mediante el aislamiento de SNAPSHOT cuando el valor de configuración de sesión TRANSACTION ISOLATION LEVEL se establece en READ COMMITTED, READ UNCOMMITTED o en un nivel de aislamiento inferior. | Válido para : SQL Server 2014 (12.x) y versiones posteriores. 1: TRUE 0: FALSE Tipo de datos base: int |
IsMergePublished | 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: TRUE 0: FALSE NULL: Entrada no válida Tipo de datos base: int |
IsNullConcat | La concatenación con un operando NULL da como resultado NULL. | 1: TRUE 0: FALSE NULL: Entrada no válida Tipo de datos base: int |
IsNumericRoundAbortEnabled | Se generan errores cuando se produce una pérdida de precisión en expresiones. | 1: TRUE 0: FALSE NULL: Entrada no válida Tipo de datos base: int |
IsParameterizationForced | La opción de base de datos PARAMETERIZATION es FORCED por medio del comando SET. | 1: TRUE 0: FALSE NULL: Entrada no válida |
IsQuotedIdentifiersEnabled | Se pueden usar comillas dobles en los identificadores. | 1: TRUE 0: FALSE NULL: Entrada no válida Tipo de datos base: int |
IsPublished | 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: TRUE 0: FALSE NULL: Entrada no válida Tipo de datos base: int |
IsRecursiveTriggersEnabled | Se habilita la activación recursiva de desencadenadores. | 1: TRUE 0: FALSE NULL: Entrada no válida Tipo de datos base: int |
IsSubscribed | La base de datos está suscrita a una publicación. | 1: TRUE 0: FALSE NULL: Entrada no válida Tipo de datos base: int |
IsSyncWithBackup | 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 interrumpirá la replicación transaccional. | 1: TRUE 0: FALSE NULL: Entrada no válida Tipo de datos base: int |
IsTornPageDetectionEnabled | 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: TRUE 0: FALSE NULL: Entrada no válida Tipo de datos base: int |
IsVerifiedClone | La base de datos es una copia de solo estadísticas y esquema de una base de datos de usuario, creada con la opción WITH VERIFY_CLONEDB de DBCC CLONEDATABASE. Vea este artículo de Soporte técnico de Microsoft para más información. | Se aplica a: A partir de SQL Server 2016 (13.x) SP2. 1: TRUE 0: FALSE NULL: Entrada no válida Tipo de datos base: int |
IsXTPSupported | 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 algún grupo de archivos MEMORY_OPTIMIZED_DATA, necesario para crear objetos de OLTP en memoria. |
Se aplica a: SQL Server (SQL Server 2016 (13.x) y versiones posteriores) y Azure SQL Database 1: TRUE 0: FALSE NULL: Entrada no válida, error o no aplicable Tipo de datos base: int |
LastGoodCheckDbTime | La fecha y hora de la última operación DBCC CHECKDB que se ejecutó correctamente en la base de datos especificada. 1 Si DBCC CHECKDB no se ha ejecutado en una base de datos, se devuelve 01-01-1900 00:00:00.000. | Se aplica a: SQL Server 2016 (13.x) a partir de SP2. SQL Server 2017 (14.x) a partir de CU9. SQL Server 2019 (15.x) o posterior. Azure SQL Database. Un valor de fecha y hora NULL: Entrada no válida Tipo de datos base: datetime |
LCID | El identificador de configuración regional (LCID) de Windows para la intercalación. | Valor de LCID (en formato decimal). Tipo de datos base: int |
MaxSizeInBytes | Tamaño máximo de la base de datos (en bytes). | Se aplica a: Azure SQL Database, Azure Synapse Analytics. 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 Tipo de base de datos: bigint |
Recuperación | Modelo de recuperación de base de datos | FULL: Modelo de recuperación completa BULK_LOGGED: Modelo optimizado para cargas masivas de registros SIMPLE: Modelo de recuperación simple Tipo de datos base: nvarchar(128) |
ServiceObjective | Describe el nivel de rendimiento de la base de datos en SQL Database o Azure Synapse Analytics. | Uno de los siguientes valores: NULL = La base de datos no se ha iniciado Compartido (para las ediciones Web o Business) Básico S0 S1 S2 S3 P1 P2 P3 ElasticPool Sistema (para la base de datos maestra) Tipo de datos base: nvarchar(32) |
ServiceObjectiveId | El identificador del objetivo del servicio en SQL Database. | uniqueidentifier que identifica el objetivo del servicio. |
SQLSortOrder | Id. de orden de SQL Server compatible con versiones anteriores de SQL Server. | 0: La base de datos usa intercalación de Windows >0: identificador de criterio de ordenación de SQL Server NULL: Entrada no válida o no se ha iniciado la base de datos Tipo de datos base: tinyint |
Estado | Estado de la base de datos. | ONLINE: La base de datos está disponible para consultas. Nota: La función puede devolver el estado ONLINE mientras se abre la base de datos y aún no se ha recuperado. Para saber si una base de datos ONLINE puede aceptar conexiones, consulte la propiedad Collation de DATABASEPROPERTYEX. La base de datos ONLINE puede aceptar conexiones cuando la intercalación de base de datos devuelve un valor distinto de NULL. En el caso de las bases de datos Always On, consulte las columnas database_state o database_state_desc de sys.dm_hadr_database_replica_states .OFFLINE: La base de datos está explícitamente sin conexión. RESTORING: Se ha iniciado la restauración de la base de datos. RECOVERING: Se ha iniciado la recuperación de la base de datos, que aún no está lista para las consultas. SUSPECT: La base de datos no se recuperó. EMERGENCY: La base de datos está en un estado de emergencia de solo lectura. El acceso se restringe a los miembros del rol sysadmin Tipo de datos base: nvarchar(128) |
Updateability | 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. Tipo de datos base: nvarchar(128) |
UserAccess | Indica qué usuarios pueden tener acceso a la base de datos. | SINGLE_USER: Solo un usuario db_owner, dbcreator o sysadmin a la vez RESTRICTED_USER: Solo miembros de los roles db_owner, dbcreator o sysadmin MULTI_USER: Todos los usuarios Tipo de datos base: nvarchar(128) |
Versión | 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 Tipo de datos base: int |
ReplicaID | Identificador de réplica de una base de datos o réplica de hiperescala conectada. | Se aplica a: Azure SQL Database. Solo devolverá 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 es una base de datos de hiperescala o no se inicia la base de datos. Tipo de datos base: nvarchar(128) |
Nota
1 Para las bases de datos que forman parte de un grupo de disponibilidad, LastGoodCheckDbTime
devolverá la fecha y hora de la última operación DBCC CHECKDB que se ejecutó correctamente en la réplica principal, con independencia de la réplica desde la que se ejecute el comando.
Tipos de valores devueltos
sql_variant
Excepciones
Devuelve NULL si se produce un error o si el 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 de emisión de metadatos, como OBJECT_ID
, podrían devolver NULL si el usuario no tiene permisos en el objeto. Vea Configuración de visibilidad de los metadatos para obtener más información.
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
A. Recuperar el estado de la opción de base de datos AUTO_SHRINK
Este ejemplo devuelve el estado de la opción de base de datos AUTO_SHRINK para la base de datos AdventureWorks
.
SELECT DATABASEPROPERTYEX('AdventureWorks2022', 'IsAutoShrink');
Este es el conjunto de resultados. Esto indica que AUTO_SHRINK está desactivado.
------------------
0
B. Recuperar la intercalación predeterminada de 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 lectura de Azure SQL Database, puede ejecutar la siguiente consulta en el contexto de la base de datos para comprobar si está conectado a una réplica de solo lectura. Si está conectado a una réplica de solo lectura, se devolverá READ_ONLY. 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');
Consulte también
ALTER DATABASE (Transact-SQL)
Estados de base de datos
sys.databases (Transact-SQL)
sys.database_files (Transact-SQL)
SERVERPROPERTY (Transact-SQL)