Compartir a través de


DATABASEPROPERTYEX (Transact-SQL)

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

Se aplica a: de SQL Server (SQL Server 2008 a la versión actual), Base de datos SQL de Azure.

Icono de vínculo a temas 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 de 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.

    Style

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

    La edición de la base de datos.

    Web = Base de datos Web Edition

    Business = Base de datos Business Edition

    NULL = La base de datos no se ha iniciado.

    Tipo de datos base: nvarchar(64).

    Se aplica a: Base de datos SQL de Azure.

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

    1 = TRUE

    0 = False

    NULL = Entrada no válida

    Tipo de datos base: int

    Se aplica a: SQL Server 2014 a SQL Server 2014.

    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.

    Se aplica a: SQL Server 2008 a SQL Server 2014.

    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 tiene acceso a las tablas con optimización en memoria mediante el aislamiento de instantánea cuando el valor de configuración TRANSACTION ISOLATION LEVEL de la sesión se establece en un nivel de aislamiento inferior, READ COMMITTED o READ UNCOMMITTED.

    Se aplica a: SQL Server 2014 a SQL Server 2014.

    1 = TRUE

    0 = False

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

    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 LCID (en formato decimal).

    Tipo de datos base: int

    MaxSizeInBytes

    Tamaño máximo de la base de datos en bytes.

    1073741824

    5368709120

    10737418240

    21474836480

    32212254720

    42949672960

    53687091200

    NULL = La base de datos no se ha iniciado

    Tipo de datos base: bigint

    Se aplica a: Base de datos SQL de Azure.

    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 pueden 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 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, consulte 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

ALTER DATABASE (Transact-SQL)

sys.databases (Transact-SQL)

sys.database_files (Transact-SQL)

SERVERPROPERTY (Transact-SQL)

Conceptos

Estados de base de datos