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.
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.
StyleValeurIgnorer la casse1Ignorer les accents2Ignorer le type de caractères Kana65536Ignorer la largeur131072Par 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
RemarqueLa 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.
RemarqueL'é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
sys.database_files (Transact-SQL)