DATABASEPROPERTYEX (Transact-SQL)

Devuelve la configuración actual de una opción o propiedad de base de datos especificada.

Icono de vínculo a temasConvenciones 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 de tipo varchar(128) y puede tener 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.

    EstiloValor
    Omitir mayúsculas y minúsculas1
    Omitir acento2
    Omitir Kana65536
    Omitir ancho131072

    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 = 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

    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 = 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 se requiera, 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 la 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

    Se habilita el texto completo para la base de datos.

    1 = TRUE

    0 = FALSE

    NULL = Entrada no válida

    Tipo de datos base: int

    NotaNota
    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 = 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

    IsMergePublished

    Las tablas de una base de datos se pueden publicar para la replicación de mezcla, si está instalada la replicación.

    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 puede utilizar comillas dobles en identificadores.

    1 = TRUE

    0 = FALSE

    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 = 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 de distribución, y puede restaurarse sin interrumpir la replicación transaccional.

    1 = TRUE

    0 = FALSE

    NULL = Entrada no válida

    Tipo de datos base: int

    IsTornPageDetectionEnabled

    SQL Server Database Engine (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

    LCID

    Identificador de configuración regional (LCID) de Windows de la intercalación.

    Valor de LCID (en formato decimal).

    Tipo de datos base: int

    En Configuración de intercalación en el programa de instalación encontrará una lista de valores de LCID (en formato hexadecimal).

    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

    Identificador de criterio de ordenación 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.

    OFFLINE = La base de datos está explícitamente desconectada.

    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 sólo lectura. El acceso se restringe a los miembros de la función 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 = Sólo un usuario db_owner, dbcreator o sysadmin a la vez

    RESTRICTED_USER = Sólo los miembros de las funciones 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. Solo 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 sólo puede ver los metadatos de elementos que pueden protegerse 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 y Solucionar problemas de visibilidad de los metadatos.

Notas

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('AdventureWorks', 'IsAutoShrink');

Éste 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 el nombre de la intercalación predeterminada de la base de datos AdventureWorks.

SELECT DATABASEPROPERTYEX('AdventureWorks', 'Collation');

Éste es el conjunto de resultados.

------------------------------
SQL_Latin1_General_CP1_CI_AI