DATABASEPROPERTYEX (Transact-SQL)
Devuelve la configuración actual de una opción o propiedad de base de datos especificada.
Convenciones de sintaxis de Transact-SQL
Sintaxis
DATABASEPROPERTYEX ( database , property )
Argumentos
database
Es una expresión que representa el nombre de la base de datos para la que se devuelve la información de la propiedad con nombre. database es de tipo nvarchar(128).property
Es una expresión que representa el nombre de la propiedad de base de datos que se va a devolver. property es varchar(128), y puede ser uno de los siguientes valores. El tipo devuelto es sql_variant. En la siguiente tabla se muestra el tipo de datos base para cada valor de propiedad.[!NOTA]
Si no se inicia la base de datos, las propiedades que SQL Server recupera mediante acceso directo a la base de datos, en lugar de obtener el valor de los metadatos devolverán NULL. Es decir, si la base de datos tiene AUTO_CLOSE establecido en ON o si la base de datos está sin conexión.
Propiedad
Descripción
Valor devuelto
Collation
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. ComparisonStyle es un mapa de bits que se calcula utilizando los valores siguientes.
Estilo
Valor
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 o 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
IsAnsiNullDefault
La base de datos sigue las reglas ISO para permitir los valores NULL.
1 = Verdadero
0 = Falso
NULL = Entrada no válida
Tipo de datos base: int
IsAnsiNullsEnabled
Todas las comparaciones con un valor NULL tienen un resultado desconocido.
1 = Verdadero
0 = Falso
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 = Verdadero
0 = Falso
NULL = Entrada no válida
Tipo de datos base: int
IsAnsiWarningsEnabled
Se produce un mensaje de error o de advertencia cuando tiene lugar una condición de error estándar.
1 = TRUE
0 = FALSE
NULL = Entrada no válida
Tipo de datos base: int
IsArithmeticAbortEnabled
Las consultas se cancelan cuando hay un error de desbordamiento o división por cero durante su ejecución.
1 = Verdadero
0 = Falso
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
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
El optimizador de consultas actualiza las estadísticas existentes cuando las usa una consulta y podrían estar obsoletas.
1 = TRUE
0 = FALSE
NULL = Entrada no válida
Tipo de datos base: int
IsCloseCursorsOnCommitEnabled
Los cursores que están abiertos se cierran cuando se confirma una transacción.
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.
1 = TRUE
0 = FALSE
NULL = Entrada no válida
Tipo de datos base: int
[!NOTA]
El valor de esta propiedad no tiene ningún efecto. En las bases de datos de usuario siempre está habilitada la búsqueda de texto completo. Esta columna se quitará en una próxima versión de SQL Server. No utilice esta columna en nuevos trabajos de desarrollo y modifique lo antes posible las aplicaciones que actualmente usan cualquiera de estas columnas.
IsInStandBy
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
Tipo de datos base: int
IsLocalCursorsDefault
El valor predeterminado de las declaraciones de cursores es LOCAL.
1 = Verdadero
0 = Falso
NULL = Entrada no válida
Tipo de datos base: int
IsMergePublished
Las tablas de una base de datos se pueden publicar para la replicación de mezcla, si está instalada la replicación.
1 = Verdadero
0 = Falso
NULL = Entrada no válida
Tipo de datos base: int
IsNullConcat
La concatenación con un operando NULL da como resultado NULL.
1 = Verdadero
0 = Falso
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 = Verdadero
0 = Falso
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 utilizar comillas dobles en identificadores.
1 = Verdadero
0 = Falso
NULL = Entrada no válida
Tipo de datos base: int
IsPublished
Las tablas de la base de datos se pueden publicar para la replicación de instantáneas o transaccional, si está instalada la replicación.
1 = Verdadero
0 = Falso
NULL = Entrada no válida
Tipo de datos base: int
IsRecursiveTriggersEnabled
Se habilita la activación recursiva de desencadenadores.
1 = Verdadero
0 = Falso
NULL = Entrada no válida
Tipo de datos base: int
IsSubscribed
La base de datos está suscrita a una publicación.
1 = Verdadero
0 = Falso
NULL = Entrada no válida
Tipo de datos base: int
IsSyncWithBackup
La base de datos es una base de datos publicada o de distribución, y puede restaurarse sin interrumpir la replicación transaccional.
1 = Verdadero
0 = Falso
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 = Verdadero
0 = Falso
NULL = Entrada no válida
Tipo de datos base: int
LCID
Identificador de configuración regional (LCID) de Windows de la intercalación.
Valor de LCID (en formato decimal).
Tipo de datos base: int
Recovery
El modelo de recuperación de la base de datos.
FULL = Modelo de recuperación completa
BULK_LOGGED = Modelo de registro masivo
SIMPLE = Modelo de recuperación simple
Tipo de datos base: nvarchar(128)
SQLSortOrder
Id. de orden de SQL Server compatible con versiones anteriores de SQL Server.
0 = La base de datos utiliza la intercalación de Windows
>0 = Identificador de criterio de ordenación de SQL Server
NULL = La entrada no es válida o no se ha iniciado la base de datos.
Tipo de datos base: tinyint
Status
Estado de la base de datos.
ONLINE = La base de datos está disponible para consultas.
[!NOTA]
El estado ONLINE se puede devolver mientras la base de datos se esté abriendo y no se haya recuperado todavía. Para identificar cuándo puede aceptar conexiones una base de datos, consulte la propiedad Collation de DATABASEPROPERTYEX. La 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 siempre visibles, 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 = La base de datos se está restaurando.
RECOVERING = La base de datos se está recuperando y aún no está lista para 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 está restringido a los miembros del rol sysadmin
Tipo de datos base: nvarchar(128)
Updateability
Indica si los datos se puede modificar.
READ_ONLY = Los datos se pueden leer pero no modificar.
READ_WRITE = Los datos se pueden leer y modificar.
Tipo de datos base: nvarchar(128)
UserAccess
Indica qué usuarios pueden tener acceso a la base de datos.
SINGLE_USER = Solo un usuario db_ownerdbcreator o sysadmin a la vez
RESTRICTED_USER = Solo los miembros de los roles db_owner, dbcreator y sysadmin
MULTI_USER = Todos los usuarios
Tipo de datos base: nvarchar(128)
Version
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
Tipos de valor 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. Esto significa que las funciones integradas de emisión de metadatos, como OBJECT_ID, pueden devolver NULL si el usuario no tiene ningún permiso para el objeto. Para obtener más información, vea Configuración de visibilidad de los metadatos.
Comentarios
DATABASEPROPERTYEX devuelve un único valor de propiedad cada vez. Para ver varios valores de propiedad, utilice la vista de catálogo sys.databases.
Ejemplos
A.Recuperar el estado de la opción de base de datos AUTO_SHRINK
El ejemplo siguiente devuelve el estado de la opción de base de datos AUTO_SHRINK para la base de datos AdventureWorks.
SELECT DATABASEPROPERTYEX('AdventureWorks2012', 'IsAutoShrink');
El conjunto de resultados es el siguiente. Esto indica que AUTO_SHRINK está desactivado.
------------------
0
B.Recuperar la intercalación predeterminada de una base de datos
Este ejemplo devuelve el nombre de la intercalación predeterminada de la base de datos AdventureWorks.
SELECT DATABASEPROPERTYEX('AdventureWorks2012', 'Collation');
El conjunto de resultados es el siguiente.
------------------------------
SQL_Latin1_General_CP1_CI_AI
Vea también
Referencia
sys.database_files (Transact-SQL)