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

    Estilo de comparación de Windows para la intercalación. ComparisonStyle es un mapa de bits que se calcula con 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 = 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 = Verdadero

    0 = Falso

    NULL = Entrada no válida

    Tipo de datos base: int

    IsFulltextEnabled

    Se habilita el texto completo para la base de datos.

    1 = Verdadero

    0 = Falso

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

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

    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

    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.

    NotaNota
    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 una base de datos puede aceptar conexiones, consulte la propiedad Collation de DATABASEPROPERTYEX. La base de datos puede aceptar conexiones cuando la intercalación de bases de datos devuelve un valor no NULL.

    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 y Solucionar problemas 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 AdventureWorks2008R2.

SELECT DATABASEPROPERTYEX('AdventureWorks2008R2', '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 AdventureWorks2008R2.

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

El conjunto de resultados es el siguiente.

------------------------------

SQL_Latin1_General_CP1_CI_AI