Partager via


BASE DE DONNÉESPROPERTYEX (Transact-SQL)

S’applique à :SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse AnalyticsAnalytics Platform System (PDW)Base de données SQL dans Microsoft Fabric

Pour une base de données spécifiée dans SQL Server, la DATABASEPROPERTYEX fonction retourne le paramètre actuel de l’option ou de la propriété de base de données spécifiée.

Conventions de la syntaxe Transact-SQL

Syntaxe

DATABASEPROPERTYEX ( database , property )

Les arguments

base de données

Expression spécifiant le nom de la base de données pour laquelle DATABASEPROPERTYEX retourne les informations de propriété nommées. Le type de données de database est nvarchar(128) .

Pour SQL Database, DATABASEPROPERTYEX a besoin du nom de la base de données active. Elle retourne NULL toutes les propriétés si elle a un nom de base de données différent.

propriété

Expression spécifiant le nom de la propriété de base de données à retourner. property possède le type de données varchar (128) et prend en charge l’une des valeurs contenues dans ce tableau :

Notes

Si la base de données n’a pas encore démarré, les appels à DATABASEPROPERTYEX retourner NULL si DATABASEPROPERTYEX ces valeurs sont récupérées par accès direct à la base de données, au lieu d’être récupérés à partir de métadonnées. Une base de données définie AUTO_CLOSEONsur , ou hors connexion, est définie comme « non démarrée ».

Propriété Descriptif Valeur retournée
Collation

Type de données : nvarchar(128)
Nom du classement par défaut de la base de données Nom du classement. Si NULL, la base de données n’est pas démarrée.
ComparisonStyle

Type de données : int
Style de comparaison Windows du classement. Utilisez les valeurs de style suivantes pour générer une bitmap pour la valeur terminée ComparisonStyle :

- 1: Ignorer la casse
- 2: Ignorer l’accentuation
- 65536: Ignorer le kana
- 131072: Ignorer la largeur

Par exemple, la valeur par défaut 196609 est le résultat de la combinaison de la casse ignorée, de l’ignorer, de l’ignorer et d’ignorer les options de largeur .
Retourne le style de comparaison.

Retourne 0 tous les classements binaires.
Edition

Type de données : nvarchar(64)
Édition de la base de données ou couche de service. - General Purpose
- Business Critical
- Basic
- Standard
- Premium
- System (pour master la base de données)
- FabricSQLDB: Base de données SQL dans Microsoft Fabric
- NULL: La base de données n’est pas démarrée.

S’applique à : Azure SQL Database, SQL database dans Microsoft Fabric, Azure Synapse Analytics.
IsAnsiNullDefault

Type de données : int
La base de données suit les règles ISO pour autoriser les NULL valeurs. - 1:Vrai
- 0:Faux
- NULL: entrée non valide
IsAnsiNullsEnabled

Type de données : int
Toutes les comparaisons à une NULL valeur inconnue. - 1:Vrai
- 0:Faux
- NULL: entrée non valide
IsAnsiPaddingEnabled

Type de données : int
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
IsAnsiWarningsEnabled

Type de données : int
SQL Server émet des messages d’erreur ou d’avertissement quand des conditions d’erreur standard se présentent. - 1:Vrai
- 0:Faux
- NULL: entrée non valide
IsArithmeticAbortEnabled

Type de données : int
Les requêtes s’arrêtent quand une erreur liée à un dépassement de capacité ou une division par zéro se produit pendant leur exécution. - 1:Vrai
- 0:Faux
- NULL: entrée non valide
IsAutoClose

Type de données : int
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
IsAutoCreateStatistics

Type de données : int
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
IsAutoCreateStatisticsIncremental

Type de données : int
Les statistiques de colonnes uniques créées automatiquement sont incrémentielles quand cela est possible. - 1:Vrai
- 0:Faux
- NULL: entrée non valide

S’applique à : SQL Server 2014 (12.x) et ultérieur.
IsAutoShrink

Type de données : int
Les fichiers de base de données peuvent faire l'objet d'une réduction périodique automatique. - 1:Vrai
- 0:Faux
- NULL: entrée non valide
IsAutoUpdateStatistics

Type de données : int
Quand une requête utilise des statistiques existantes potentiellement périmées, l’optimiseur de requête met à jour ces statistiques. - 1:Vrai
- 0:Faux
- NULL: Entrée non valide
IsClone

Type de données : int
La base de données est une copie de schéma et de statistiques uniquement d’une base de données utilisateur créée avec DBCC CLONEDATABASE. - 1:Vrai
- 0:Faux
- NULL: entrée non valide

S’applique à : SQL Server 2014 (12.x) SP2 et versions ultérieures.
IsCloseCursorsOnCommitEnabled

Type de données : int
Lorsqu’une transaction est validée, tous les curseurs ouverts sont fermés. - 1:Vrai
- 0:Faux
- NULL: entrée non valide
IsDatabaseSuspendedForSnapshotBackup

Type de données : int
La base de données est suspendue. - 1:Vrai
- 0:Faux
- NULL: entrée non valide
IsFulltextEnabled

Type de données : int
L'indexation sémantique et de texte intégral est activée pour la base de données. - 1:Vrai
- 0:Faux
- NULL: Entrée non valide

S’applique à : SQL Server 2008 (10.0.x) et ultérieur.

Remarque : La valeur de cette propriété est désormais sans effet. Les bases de données utilisateur sont toujours activées pour la recherche en texte intégral. Cette propriété sera supprimée dans une future version de SQL Server. N’utilisez pas cette propriété dans le nouveau travail de développement et modifiez les applications qui utilisent actuellement cette propriété dès que possible.
IsInStandBy

Type de données : int
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
IsLocalCursorsDefault

Type de données : int
Les déclarations de curseur sont par défaut LOCAL. - 1:Vrai
- 0:Faux
- NULL: entrée non valide
IsMemoryOptimizedElevateToSnapshotEnabled

Type de données : int
Les tables optimisées en mémoire sont accessibles à l’aide SNAPSHOT de l’isolation, lorsque le paramètre TRANSACTION ISOLATION LEVEL de session est défini READ COMMITTEDsur , READ UNCOMMITTEDou sur un niveau d’isolation inférieur. - 1:Vrai
- 0:Faux

S’applique à : SQL Server 2014 (12.x) et ultérieur.
IsMergePublished

Type de données : int
SQL Server prend en charge la publication de tables de base de données pour la réplication de fusion, si la réplication est installée. - 1:Vrai
- 0:Faux
- NULL: entrée non valide
IsNullConcat

Type de données : int
L’opérande de concaténation Null génère NULL. - 1:Vrai
- 0:Faux
- NULL: entrée non valide
IsNumericRoundAbortEnabled

Type de données : int
Des erreurs sont générées quand une perte de précision se produit dans des expressions. - 1:Vrai
- 0:Faux
- NULL: entrée non valide
IsOptimizedLockingOn

Type de données : int
Le verrouillage optimisé est activé pour la base de données. - 1:Vrai
- 0:Faux
- NULL:Non disponible

S’applique à : SQL Server 2025 (17.x) et versions ultérieures, Azure SQL Database, Azure SQL Managed InstanceAUTD, et la base de données SQL dans Microsoft Fabric.
IsParameterizationForced

Type de données : int
PARAMETERIZATION l’option de base de données SET est FORCED. - 1:Vrai
- 0:Faux
- NULL: entrée non valide
IsQuotedIdentifiersEnabled

Type de données : int
Les guillemets doubles sont autorisés dans les identificateurs. - 1:Vrai
- 0:Faux
- NULL: entrée non valide
IsPublished

Type de données : int
Si la réplication est installée, SQL Server prend en charge la publication de tables de base de données pour la réplication transactionnelle ou de capture instantanée. - 1:Vrai
- 0:Faux
- NULL: entrée non valide
IsRecursiveTriggersEnabled

Type de données : int
Le fonctionnement récursif des déclencheurs est activé. - 1:Vrai
- 0:Faux
- NULL: entrée non valide
IsSubscribed

Type de données : int
La base de données est abonnée à une publication. - 1:Vrai
- 0:Faux
- NULL: entrée non valide
IsSyncWithBackup

Type de données : int
La base de données est une base de données publiée ou une base de données de distribution et prend en charge une restauration qui n’interrompt pas la réplication transactionnelle. - 1:Vrai
- 0:Faux
- NULL: entrée non valide
IsTornPageDetectionEnabled

Type de données : int
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:Vrai
- 0:Faux
- NULL: entrée non valide
IsVerifiedClone

Type de données : int
La base de données est une copie de schéma et de statistiques uniquement d’une base de données utilisateur, créée à l’aide de WITH VERIFY_CLONEDBl’option DBCC CLONEDATABASE . - 1:Vrai
- 0:Faux
- NULL: entrée non valide

S’applique à : SQL Server 2016 (13.x) SP2 et versions ultérieures.
IsXTPSupported

Type de données : int
Indique si la base de données prend en charge OLTP en mémoire. Par exemple : création et utilisation de tables à mémoire optimisée et de modules compilés en mode natif.

Spécifique à SQL Server :

IsXTPSupported est indépendant de l’existence d’un MEMORY_OPTIMIZED_DATA groupe de fichiers, ce qui est requis pour la création d'In-Memory objets OLTP.
- 1:Vrai
- 0:Faux
- NULL: entrée non valide, erreur ou non applicable

S’applique à : SQL Server 2016 (13.x) et versions ultérieures, et Azure SQL Database.
LastGoodCheckDbTime

Type de données : datetime
Date et heure du dernier succès DBCC CHECKDB exécuté sur la base de données spécifiée. Si DBCC CHECKDB aucune base de données n’a été exécutée, 1900-01-01 00:00:00.000 elle est retournée. Pour les bases de données qui font partie d’un groupe de disponibilité, LastGoodCheckDbTime retourne la date et l’heure de la dernière exécution réussie DBCC CHECKDB sur le réplica principal, quel que soit le réplica à partir duquel vous exécutez la commande. NULL: entrée non valide

S’applique à : SQL Server 2016 (13.x) SP2, SQL Server 2017 (14.x) CU9, SQL Server 2019 (15.x) et versions ultérieures, Azure SQL Database, et SQL database dans Microsoft Fabric.
LCID

Type de données : int
Identificateur de paramètres régionaux (LCID) Windows de classement. Valeur LCID (au format décimal).
MaxSizeInBytes

Type de données : Bigint
Taille maximale de la base de données, en octets. - Azure SQL Database et Azure Synapse Analytics : la valeur est basée sur SLO, sauf si un stockage supplémentaire a été acheté.

- vCore : la valeur est en incréments de 1 Go jusqu’à la taille maximale.

- NULL: La base de données n’est pas démarrée

S’applique à : Azure SQL Database, SQL database dans Microsoft Fabric, et Azure Synapse Analytics.
Recovery

Type de données : nvarchar(128)
Modèle de récupération de base de données. - FULL: modèle de récupération complète
- BULK_LOGGED: Modèle journalisé en bloc
- SIMPLE: modèle de récupération simple
ServiceObjective

Type de données : nvarchar(32)
Décrit le niveau de performance de la base de données dans SQL Database, SQL Database dans Microsoft Fabric ou Azure Synapse Analytics. Une des valeurs suivantes :

- NULL: base de données non démarrée
- Shared (pour les éditions Web/Business)
- Basic
- S0
- S1
- S2
- S3
- P1
- P2
- P3
- ElasticPool
- System (pour master la base de données)
- FabricSQLDB: Base de données SQL dans Microsoft Fabric
ServiceObjectiveId

Type de données : uniqueidentifier
ID de l’objectif de service dans la SQL Database. ID de l’objectif de service.
SQLSortOrder

Type de données : tinyint
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 de l’ordre de tri SQL Server

- NULL: entrée non valide ou base de données n’a pas démarré
Status

Type de données : nvarchar(128)
État de la base de données. ONLINE: la base de données est disponible pour la requête.

Note: La fonction peut retourner un état pendant que la base de ONLINE données s’ouvre et n’a pas encore récupéré. Pour identifier si une ONLINE base de données peut accepter des connexions, interrogez la Collation propriété de DATABASEPROPERTYEX. La ONLINE base de données peut accepter les connexions lorsque le classement de la base de données retourne une valeur non Null. Pour les bases de données Always On, interrogez les colonnes ou database_state les database_state_desc colonnes de sys.dm_hadr_database_replica_states.

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

- RESTORING: la restauration de base de données a démarré.

- RECOVERING: la récupération de base de données a démarré et la base de données n’est pas encore prête pour les requêtes.

- SUSPECT: La base de données n’a pas récupéré.

- EMERGENCY: la base de données est dans un état d’urgence en lecture seule. L’accès est limité aux membres sysadmin
Updateability

Type de données : nvarchar(128)
Indique si les données peuvent être modifiées. READ_ONLY: la base de données prend en charge les lectures de données, mais pas les modifications de données.

- READ_WRITE: la base de données prend en charge les lectures et modifications de données.
UserAccess

Type de données : nvarchar(128)
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: seuls les membres des rôles db_owner, dbcreator ou sysadmin

- MULTI_USER: Tous les utilisateurs
Version

Type de données : int
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’a pas démarré.
ReplicaID

Type de données : nvarchar(128)
ID de réplica d’une base de données/réplica hyperscale connectée. Retourne uniquement l’ID de réplica d’une base de données/réplica Hyperscale connectée. Pour en savoir plus sur les types de réplicas, consultez les réplicas secondaires Hyperscale.

- NULL: pas une base de données hyperscale ou la base de données n’est pas démarrée.

S’applique à : Azure SQL Database Hyperscale.

Types de retour

sql_variant

Exceptions

Retourne NULL une erreur ou si un appelant n’a pas l’autorisation d’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. Cette règle signifie que les fonctions intégrées émettrices de métadonnées, telles que OBJECT_ID peuvent retourner NULL si l’utilisateur n’a pas d’autorisations sur l’objet. Pour plus d’informations, consultez la 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 la vue de catalogue sys.databases.

Exemples

Les exemples de code de cet article utilisent les bases de données d'exemple AdventureWorks2025 ou AdventureWorksDW2025, que vous pouvez télécharger à partir de la page d'accueil Microsoft SQL Server Samples and Community Projects.

R. Récupérer l’état de l’option de base de données AUTO_SHRINK

Cet exemple retourne l’état de l’option AUTO_SHRINK de base de données pour la AdventureWorks base de données.

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

Voici le jeu de résultats. Cela indique qu’il AUTO_SHRINK est désactivé.

0

B. Récupérer le classement par défaut d’une base de données

Cet exemple retourne plusieurs attributs de la base de données AdventureWorks.

SELECT DATABASEPROPERTYEX('AdventureWorks2022', 'Collation') AS Collation,
       DATABASEPROPERTYEX('AdventureWorks2022', 'Edition') AS Edition,
       DATABASEPROPERTYEX('AdventureWorks2022', 'ServiceObjective') AS ServiceObjective,
       DATABASEPROPERTYEX('AdventureWorks2022', 'MaxSizeInBytes') AS MaxSizeInBytes;

Voici le jeu de résultats.

Collation                     Edition        ServiceObjective  MaxSizeInBytes
----------------------------  -------------  ----------------  --------------
SQL_Latin1_General_CP1_CI_AS  DataWarehouse  DW1000            5368709120

Chapitre C. Utiliser DATABASEPROPERTYEX pour vérifier la connexion au réplica

Lorsque vous utilisez la fonctionnalité de scale-out Azure SQL Database, vous pouvez vérifier si vous êtes connecté à un réplica en lecture seule ou non en exécutant la requête suivante dans le contexte de votre base de données. Elle est retournée READ_ONLY lorsque vous êtes connecté à un réplica en lecture seule. De cette façon, vous pouvez également identifier quand une requête s’exécute sur un réplica en lecture seule.

SELECT DATABASEPROPERTYEX(DB_NAME(), 'Updateability');