DATABASEPROPERTYEX (Transact-SQL)

Retourne le paramètre actuel de l'option ou de la propriété de la base de données spécifiée.

Icône Lien de rubrique Conventions de la syntaxe Transact-SQL

Syntaxe

DATABASEPROPERTYEX ( database , property )

Arguments

  • database
    Expression représentant le nom de la base de données pour laquelle retourner l'information sur la propriété nommée. database est de type nvarchar(128).

  • property
    Expression représentant le nom de la propriété de base de données à renvoyer. property est de type varchar(128) et peut prendre l'une des valeurs suivantes. Le type de retour est sql_variant. Le tableau suivant montre le type de données de base de chaque valeur de propriété.

    [!REMARQUE]

    Si la base de données n'est pas démarrée, les propriétés que le serveur SQL Server récupère en accédant directement à la base de données, au lieu de récupérer la valeur des métadonnées, retournent NULL. Cette situation se présente lorsque la propriété AUTO_CLOSE de la base de données a pour valeur ON ou que la base de données est hors connexion.

    Propriété

    Description

    Valeur retournée

    Collation

    Nom du classement par défaut de la base de données

    Nom du classement

    NULL = la base de données n'est pas démarrée.

    Type de données de base : nvarchar(128)

    ComparisonStyle

    Style de comparaison Windows du classement. ComparisonStyle est une donnée bitmap calculée à l'aide des valeurs suivantes.

    StyleValeur
    Ignorer la casse1
    Ignorer les accents2
    Ignorer le type de caractères Kana65536
    Ignorer la largeur131072

    Par exemple, la valeur par défaut 196609 est le résultat de la combinaison des options permettant d'ignorer la casse, le type de caractères Kana et la largeur.

    Retourne le style de comparaison.

    Retourne 0 pour tous les classements binaires.

    Type de données de base : int

    IsAnsiNullDefault

    La base de données suit les règles ISO d'autorisation des valeurs Null.

    1 = TRUE

    0 = FALSE

    NULL = entrée non valide

    Type de données de base : int

    IsAnsiNullsEnabled

    Toutes les comparaisons à une valeur NULL produisent le résultat UNKNOWN (inconnu).

    1 = TRUE

    0 = FALSE

    NULL = entrée non valide

    Type de données de base : int

    IsAnsiPaddingEnabled

    Les chaînes sont complétées à la même longueur avant leur comparaison ou insertion.

    1 = TRUE

    0 = FALSE

    NULL = entrée non valide

    Type de données de base : int

    IsAnsiWarningsEnabled

    Des messages d'erreur ou d'avertissement sont affichés si des conditions d'erreur standard apparaissent.

    1 = TRUE

    0 = FALSE

    NULL = entrée non valide

    Type de données de base : int

    IsArithmeticAbortEnabled

    Une requête s'arrête lorsqu'un dépassement de capacité ou une division par zéro se produit durant son exécution.

    1 = TRUE

    0 = FALSE

    NULL = entrée non valide

    Type de données de base : int

    IsAutoClose

    La base de données est fermée correctement et ses ressources sont libérées après la fin de session du dernier utilisateur.

    1 = TRUE

    0 = FALSE

    NULL = entrée non valide

    Type de données de base : int

    IsAutoCreateStatistics

    L'optimiseur de requête crée des statistiques de colonnes uniques, selon les besoins, pour améliorer les performances des requêtes.

    1 = TRUE

    0 = FALSE

    NULL = entrée non valide

    Type de données de base : int

    IsAutoShrink

    Les fichiers de base de données peuvent faire l'objet d'une réduction périodique automatique.

    1 = TRUE

    0 = FALSE

    NULL = entrée non valide

    Type de données de base : int

    IsAutoUpdateStatistics

    L'optimiseur de requête met à jour les statistiques existantes lorsqu'elles sont utilisées par une requête et qu'elles sont peut-être obsolètes.

    1 = TRUE

    0 = FALSE

    NULL = entrée non valide

    Type de données de base : int

    IsCloseCursorsOnCommitEnabled

    Les curseurs ouverts lors de la validation d'une transaction sont fermés.

    1 = TRUE

    0 = FALSE

    NULL = Entrée non valide

    Type de données de base : int

    IsFulltextEnabled

    L'indexation sémantique et de texte intégral est activée pour la base de données.

    1 = TRUE

    0 = FALSE

    NULL = Entrée non valide

    Type de données de base : int

    RemarqueRemarque
    La valeur de cette propriété est sans effet.Les bases de données utilisateur sont toujours activées pour la recherche en texte intégral.Cette colonne sera supprimée dans une version future de SQL Server.Évitez d'utiliser cette colonne dans de nouveaux travaux de développement et modifiez dès que possible les applications qui utilisent actuellement l'une de ces colonnes.

    IsInStandBy

    La base de données est en ligne en lecture seule, avec la restauration du journal autorisée.

    1 = TRUE

    0 = FALSE

    NULL = entrée non valide

    Type de données de base : int

    IsLocalCursorsDefault

    Les déclarations de curseurs prennent la valeur LOCAL par défaut.

    1 = TRUE

    0 = FALSE

    NULL = entrée non valide

    Type de données de base : int

    IsMergePublished

    Les tables d'une base de données peuvent être publiées pour la réplication de fusion, si la réplication est installée.

    1 = TRUE

    0 = FALSE

    NULL = entrée non valide

    Type de données de base : int

    IsNullConcat

    Un opérande de concaténation Null produit NULL.

    1 = TRUE

    0 = FALSE

    NULL = entrée non valide

    Type de données de base : int

    IsNumericRoundAbortEnabled

    Des erreurs sont générées lors d'une perte de précision dans une expression.

    1 = TRUE

    0 = FALSE

    NULL = entrée non valide

    Type de données de base : int

    IsParameterizationForced

    L'option SET de base de données PARAMETERIZATION a la valeur FORCED.

    1 = TRUE

    0 = FALSE

    NULL = entrée non valide

    IsQuotedIdentifiersEnabled

    Les guillemets doubles peuvent être utilisés dans les identificateurs.

    1 = TRUE

    0 = FALSE

    NULL = entrée non valide

    Type de données de base : int

    IsPublished

    Les tables de la base de données peuvent être publiées pour la réplication transactionnelle ou d'instantané, si la réplication est installée.

    1 = TRUE

    0 = FALSE

    NULL = entrée non valide

    Type de données de base : int

    IsRecursiveTriggersEnabled

    Le fonctionnement récursif des déclencheurs est activé.

    1 = TRUE

    0 = FALSE

    NULL = entrée non valide

    Type de données de base : int

    IsSubscribed

    La base de données est abonnée à une publication.

    1 = TRUE

    0 = FALSE

    NULL = entrée non valide

    Type de données de base : int

    IsSyncWithBackup

    La base de données est soit une base de données publiée, soit une base de données de distribution ; en outre, elle peut être restaurée sans interrompre la réplication transactionnelle.

    1 = TRUE

    0 = FALSE

    NULL = entrée non valide

    Type de données de base : int

    IsTornPageDetectionEnabled

    Le Moteur de base de données SQL Server détecte les opérations d'E/S interrompues à la suite d'une coupure de courant ou de toute autre panne du système.

    1 = TRUE

    0 = FALSE

    NULL = entrée non valide

    Type de données de base : int

    LCID

    Identificateur des paramètres régionaux (LCID) Windows du classement.

    Valeur LCID (au format décimal).

    Type de données de base : int

    Recovery

    Mode de récupération de la base de données

    FULL = mode de récupération complète

    BULK_LOGGED = mode de récupération utilisant les journaux de transactions

    SIMPLE = mode de récupération simple

    Type de données de base : nvarchar(128)

    SQLSortOrder

    ID d'ordre de tri SQL Server pris en charge dans les versions antérieures de SQL Server.

    0 = la base de données utilise le classement Windows

    >0 = ID d'ordre de tri SQL Server

    NULL = entrée non valide ou la base de données n'est pas démarrée

    Type de données de base : tinyint

    Status

    État de la base de données

    ONLINE = La base de données est disponible pour la requête.

    RemarqueRemarque
    L'état ONLINE peut être retourné tant que la base de données est ouverte et pas encore récupérée.Pour déterminer lorsqu'une base de données peut accepter les connexions, interrogez la propriété Collation de DATABASEPROPERTYEX.La base de données peut accepter les connexions lorsque le classement de base de données retourne une valeur non NULL.Pour les bases de données AlwaysOn, interrogez les colonnes database_state ou database_state_desc de sys.dm_hadr_database_replica_states.

    OFFLINE = La base de données a été explicitement mise hors connexion.

    RESTORING = La base de données est en cours de restauration.

    RECOVERING = la base de données est en cours de récupération et n'est toujours pas disponible pour les requêtes.

    SUSPECT = la base de données n'a pas été récupérée.

    EMERGENCY = la base de données se trouve dans un état d'urgence en lecture seule. L'accès est limité aux membres sysadmin.

    Type de données de base : nvarchar(128)

    Updateability

    Indique si les données peuvent être modifiées.

    READ_ONLY = les données peuvent être lues mais pas modifiées.

    READ_WRITE = les données peuvent être lues et modifiées.

    Type de données de base : nvarchar(128)

    UserAccess

    Définit les utilisateurs autorisés à accéder à la base de données.

    SINGLE_USER = un seul utilisateur db_owner, dbcreator ou sysadmin à la fois

    RESTRICTED_USER = Uniquement des membres de rôles db_owner, dbcreator et sysadmin

    MULTI_USER = tous les utilisateurs

    Type de données de base : nvarchar(128)

    Version

    Numéro de version interne du code SQL Server avec lequel la base de données a été créée. Identifié à titre d'information uniquement. Non pris en charge. La compatibilité future n'est pas garantie.

    Numéro de version = la base de données est ouverte.

    NULL = la base de données n'est pas démarrée.

    Type de données de base : int

Types de retour

sql_variant

Exceptions

Retourne la valeur NULL en cas d'erreur ou si un appelant n'est pas autorisé à afficher l'objet.

Dans SQL Server, un utilisateur peut voir uniquement les métadonnées des éléments sécurisables qui lui appartiennent ou pour lesquels il dispose d'un droit d'accès. Cela signifie que les fonctions intégrées générant des métadonnées, telles que OBJECT_ID, peuvent retourner la valeur NULL si l'utilisateur ne dispose d'aucune autorisation sur l'objet. Pour plus d'informations, consultez Configuration de la visibilité des métadonnées.

Notes

DATABASEPROPERTYEX retourne un seul paramètre de propriété à la fois. Pour afficher plusieurs paramètres de propriété, utilisez l'affichage catalogue sys.databases.

Exemples

A.Récupération de l'état de l'option de base de données AUTO_SHRINK

L'exemple suivant retourne l'état de l'option de base de données AUTO_SHRINK de la base de données AdventureWorks.

SELECT DATABASEPROPERTYEX('AdventureWorks2012', 'IsAutoShrink');

Voici l'ensemble des résultats. Cela indique que la base de données AUTO_SHRINK est désactivée.

------------------
0

B.Récupération du classement par défaut d'une base de données

L'exemple suivant retourne le nom du classement par défaut de la base de données AdventureWorks.

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

Voici l'ensemble des résultats.

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

Voir aussi

Référence

ALTER DATABASE (Transact-SQL)

sys.databases (Transact-SQL)

sys.database_files (Transact-SQL)

SERVERPROPERTY (Transact-SQL)

Concepts

États d'une base de données