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.
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é.Notes
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 un bitmap calculé à 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 = VRAI
0 = FAUX
NULL = entrée non valide
Type de données de base : int
IsAnsiNullsEnabled
Toutes les comparaisons avec la valeur NULL produisent le résultat UNKNOWN (inconnu).
1 = VRAI
0 = FAUX
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 = VRAI
0 = FAUX
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 = VRAI
0 = FAUX
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 = VRAI
0 = FAUX
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 = VRAI
0 = FAUX
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 = VRAI
0 = FAUX
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.
1 = VRAI
0 = FAUX
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 = VRAI
0 = FAUX
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 = VRAI
0 = FAUX
NULL = entrée non valide
Type de données de base : int
IsFulltextEnabled
La base de données est activée en mode texte intégral.
1 = VRAI
0 = FAUX
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 = VRAI
0 = FAUX
NULL = entrée non valide
Type de données de base : int
IsLocalCursorsDefault
Les déclarations de curseurs prennent la valeur par défaut LOCAL.
1 = VRAI
0 = FAUX
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 = VRAI
0 = FAUX
NULL = entrée non valide
Type de données de base : int
IsNullConcat
Un opérande de concaténation NULL produit un résultat NULL.
1 = VRAI
0 = FAUX
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 = VRAI
0 = FAUX
NULL = entrée non valide
Type de données de base : int
IsParameterizationForced
L'option SET de base de données PARAMETERIZATION a pour valeur FORCED.
1 = VRAI
0 = FAUX
NULL = entrée non valide
IsQuotedIdentifiersEnabled
Les guillemets doubles peuvent être utilisés dans les identificateurs.
1 = VRAI
0 = FAUX
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 = VRAI
0 = FAUX
NULL = entrée non valide
Type de données de base : int
IsRecursiveTriggersEnabled
Le fonctionnement récursif des déclencheurs est activé.
1 = VRAI
0 = FAUX
NULL = entrée non valide
Type de données de base : int
IsSubscribed
La base de données est abonnée à une publication.
1 = VRAI
0 = FAUX
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, et elle peut être restaurée sans interrompre la réplication transactionnelle.
1 = VRAI
0 = FAUX
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 tout autre panne du système.
1 = VRAI
0 = FAUX
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
Pour obtenir la liste des valeurs LCID (au format hexadécimal), consultez Paramètres de classement du programme d'installation.
Recovery
Mode de récupération de la base de données
FULL = mode de restauration 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.
RemarqueLe statut ONLINE peut être retourné pendant l'ouverture et la récupération de la base de données. Pour déterminer lorsqu'une base de données peut accepter des connexions, interrogez la propriété Collation de DATABASEPROPERTYEX. La base de données peut accepter des connexions lorsque le classement de base de données retourne une valeur non null.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 et Dépannage 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 AdventureWorks2008R2.
SELECT DATABASEPROPERTYEX('AdventureWorks2008R2', '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 AdventureWorks2008R2.
SELECT DATABASEPROPERTYEX('AdventureWorks2008R2', 'Collation');
Voici l'ensemble des résultats.
------------------------------
SQL_Latin1_General_CP1_CI_AI