sys.databases (Transact-SQL)

Contient une ligne par base de données dans l'instance de Microsoft SQL Server ou le serveur Base de données SQL Windows Azure.

S'applique à : SQL Server (SQL Server 2008 via la version actuelle, Base de données SQL Windows Azure (version initiale via la version actuelle.

Si une base de données n'est pas ONLINE ou si AUTO_CLOSE a la valeur ON et que la base de données est fermée, les valeurs de certaines colonnes peuvent être NULL. Si une base de données est désactivée (OFFLINE), la ligne correspondante n'est pas visible aux utilisateurs possédant peu de privilèges. Si la base de données est désactivée, un utilisateur doit au moins disposer de l'autorisation ALTER ANY DATABASE au niveau du serveur ou de l'autorisation CREATE DATABASE dans la base de données master pour consulter la ligne correspondante.

Nom de la colonne

Type de données

Description

name

sysname

Nom de la base de données, unique dans une instance de SQL Server ou dans un serveur Base de données SQL Windows Azure.

database_id

int

ID de la base de données, unique dans une instance de SQL Server ou dans un serveur Base de données SQL Windows Azure.

source_database_id

int

Valeur autre que NULL = ID de la base de données source pour cet instantané.

NULL = Pas un instantané de base de données.

owner_sid

varbinary(85)

SID (identificateur de sécurité) du propriétaire externe de la base de données, tel qu'il est enregistré sur le serveur.

create_date

datetime

Date de création ou de nouvelle appellation de la base de données. Pour tempdb, cette valeur change à chaque redémarrage du serveur.

compatibility_level

tinyint

Entier correspondant à la version de SQL Server pour laquelle le comportement est compatible :

Valeur

S'applique à

70

SQL Server 2008 et SQL Server 2008 R2

80

SQL Server 2008 et SQL Server 2008 R2

90

SQL Server 2008 via SQL Server 2012 et Base de données SQL Windows Azure

100

SQL Server 2008 via SQL Server 2012 et Base de données SQL Windows Azure

110

SQL Server 2012

NULL

SQL Server 2008 via SQL Server 2012 et Base de données SQL Windows Azure

NULL = La base de données n'est pas en ligne, ou AUTO_CLOSE a la valeur ON et la base de données est fermée.

collation_name

sysname

Classement pour la base de données. Joue le rôle du classement par défaut de la base de données.

NULL = La base de données n'est pas en ligne, ou AUTO_CLOSE a la valeur ON et la base de données est fermée.

user_access

tinyint

Paramètre d'accès utilisateur :

0 = MULTI_USER spécifié

1 = SINGLE_USER spécifié

2 = RESTRICTED_USER spécifié

user_access_desc

nvarchar(60)

Description du paramètre d'accès utilisateur :

MULTI_USER

SINGLE_USER

RESTRICTED_USER

is_read_only

bit

1 = La base de données est en lecture seule

0 = La base de données est en lecture/écriture

is_auto_close_on

bit

1 = AUTO_CLOSE est activé

0 = AUTO_CLOSE est désactivé

is_auto_shrink_on

bit

1 = AUTO_SHRINK est activé

0 = AUTO_SHRINK est désactivé

state

tinyint

État de la base de données :

0 = ONLINE

1 = RESTORING

2 = RECOVERING

3 = RECOVERY_PENDING

4 = SUSPECT

5 = EMERGENCY

6 = OFFLINE

7 = COPYING (S'applique à Base de données SQL Windows Azure)

Base de données SQL Windows Azure retourne les états 0, 1, 4 et 7.

[!REMARQUE]

Une base de données qui vient d'être mise en ligne n'est pas nécessairement prête à accepter les connexions. Pour déterminer lorsqu'une base de données peut accepter les connexions, interrogez la colonne collation_name de sys.databases ou 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.

Pour plus d'informations, consultez États d'une base de données.

state_desc

nvarchar(60)

Description de l'état de la base de données :

  • ONLINE

  • RESTORING

  • RECOVERING

  • RECOVERY_PENDING

  • SUSPECT

    Pour Base de données SQL, SUSPECT = le processus de copie a échoué.

  • EMERGENCY

  • OFFLINE

  • COPYING

is_in_standby

bit

La base de données est en lecture seule pour le journal de restauration.

is_cleanly_shutdown

bit

1 = La base de données s'est arrêtée correctement ; aucune récupération n'est requise au démarrage

0 = La base de données ne s'est pas arrêtée correctement ; une récupération est requise au démarrage

is_supplemental_logging_enabled

bit

1 = SUPPLEMENTAL_LOGGING est activé

0 = SUPPLEMENTAL_LOGGING est désactivé

snapshot_isolation_state

tinyint

État des transactions d'isolement d'instantané autorisées, telles qu'elles sont définies par l'option ALLOW_SNAPSHOT_ISOLATION :

0 = L'état d'isolement d'instantané est désactivé (valeur par défaut). L'isolement d'instantané n'est pas autorisé.

1 = L'état d'isolement d'instantané est activé. L'isolement d'instantané est autorisé.

2 = L'état d'isolement d'instantané est en cours de désactivation. Les modifications de toutes les transactions sont marquées d'une version. Il est impossible de démarrer de nouvelles transactions à l'aide de l'isolement d'instantané. La base de données demeure en cours de désactivation tant que toutes les transactions, qui étaient actives lors de l'exécution de ALTER DATABASE, ne peuvent pas être terminées.

3 = L'état d'isolement d'instantané est en cours d'activation. Les modifications de toutes les nouvelles transactions sont marquées d'une version. Les transactions ne peuvent pas utiliser l'isolement d'instantané tant que son état n'a pas pour valeur 1 (activé). La base de données demeure en cours d'activation tant que toutes les transactions de mise à jour, qui étaient actives lors de l'exécution de ALTER DATABASE, ne peuvent pas être terminées.

snapshot_isolation_state_desc

nvarchar(60)

Description de l'état des transactions d'isolement d'instantané autorisées, telles qu'elles sont définies par l'option ALLOW_SNAPSHOT_ISOLATION :

  • OFF

  • ON

  • IN_TRANSITION_TO_ON

  • IN_TRANSITION_TO_OFF

is_read_committed_snapshot_on

bit

1 = l'option READ_COMMITTED_SNAPSHOT est activée. Les opérations de lecture dans le niveau d'isolement validé en lecture reposent sur des analyses d'instantané ; elles ne nécessitent aucun verrou.

0 = l'option READ_COMMITTED_SNAPSHOT est désactivée (valeur par défaut). Les opérations de lecture dans le niveau d'isolement validé en lecture utilisent des verrous partagés.

recovery_model

tinyint

Mode de récupération sélectionné :

1 = FULL

2 = BULK_LOGGED

3 = SIMPLE

recovery_model_desc

nvarchar(60)

Description du mode de récupération sélectionné :

  • FULL

  • BULK_LOGGED

  • SIMPLE

page_verify_option

tinyint

Paramètre de l'option PAGE_VERIFY :

0 = NONE

1 = TORN_PAGE_DETECTION

2 = CHECKSUM

page_verify_option_desc

nvarchar(60)

Description du paramètre de l'option PAGE_VERIFY :

NONE

TORN_PAGE_DETECTION

CHECKSUM

is_auto_create_stats_on

bit

1 = AUTO_CREATE_STATISTICS est activé

0 = AUTO_CREATE_STATISTICS est désactivé

is_auto_update_stats_on

bit

1 = AUTO_UPDATE_STATISTICS est activé

0 = AUTO_UPDATE_STATISTICS est désactivé

is_auto_update_stats_async_on

bit

1 = AUTO_UPDATE_STATISTICS_ASYNC est activé

0 = AUTO_UPDATE_STATISTICS_ASYNC est désactivé

is_ansi_null_default_on

bit

1 = ANSI_NULL_DEFAULT est activé

0 = ANSI_NULL_DEFAULT est désactivé

is_ansi_nulls_on

bit

1 = ANSI_NULLS est activé

0 = ANSI_NULLS est désactivé

is_ansi_padding_on

bit

1 = ANSI_PADDING est activé

0 = ANSI_PADDING est désactivé

is_ansi_warnings_on

bit

1 = ANSI_WARNINGS est activé

0 = ANSI_WARNINGS est désactivé

is_arithabort_on

bit

1 = ARITHABORT est activé

0 = ARITHABORT est désactivé

is_concat_null_yields_null_on

bit

1 = CONCAT_NULL_YIELDS_NULL est activé

0 = CONCAT_NULL_YIELDS_NULL est désactivé

is_numeric_roundabort_on

bit

1 = NUMERIC_ROUNDABORT est activé

0 = NUMERIC_ROUNDABORT est désactivé

is_quoted_identifier_on

bit

1 = QUOTED_IDENTIFIER est activé

0 = QUOTED_IDENTIFIER est désactivé

is_recursive_triggers_on

bit

1 = RECURSIVE_TRIGGERS est activé

0 = RECURSIVE_TRIGGERS est désactivé

is_cursor_close_on_commit_on

bit

1 = CURSOR_CLOSE_ON_COMMIT est activé

0 = CURSOR_CLOSE_ON_COMMIT est désactivé

is_local_cursor_default

bit

1 = CURSOR_DEFAULT est local

0 = CURSOR_DEFAULT est global

is_fulltext_enabled

bit

1 = Le texte intégral est activé pour la base de données

0 = Le texte intégral est désactivé pour la base de données

is_trustworthy_on

bit

1 = La base de données est marquée comme digne de confiance

0 = La base de données n'est pas marquée comme digne de confiance

is_db_chaining_on

bit

1 = Le chaînage d’appartenance entre plusieurs bases de données est activé

0 = Le chaînage d’appartenance entre plusieurs bases de données est désactivé

is_parameterization_forced

bit

1 = Le paramétrage est forcé

0 = Le paramétrage est simple

is_master_key_encrypted_by_server

bit

1 = La base de données a une clé principale chiffrée

0 = La base de données n'a aucune clé principale chiffrée

is_published

bit

1 = La base de données est de type publication dans une topologie de réplication transactionnelle ou d'instantané

0 = N'est pas une base de données de publication

is_subscribed

bit

Cette colonne n'est pas utilisée. Elle retourne toujours 0, indépendamment de l'état d'abonné de la base de données.

is_merge_published

bit

1 = La base de données est de type publication dans une topologie de réplication de fusion

0 = N'est pas une base de données de publication dans une topologie de réplication de fusion

is_distributor

bit

1 = La base de données est de type distribution dans une topologie de réplication

0 = N'est pas une base de données de distribution dans une topologie de réplication

is_sync_with_backup

bit

1 = La base de données est marquée pour une synchronisation de réplication avec sauvegarde

0 = La base de données n'est pas marquée pour une synchronisation de réplication avec sauvegarde

service_broker_guid

uniqueidentifier

Identificateur du Service Broker pour cette base de données. Utilisé en tant que broker_instance de la cible dans la table de routage.

is_broker_enabled

bit

1 = Le Service Broker dans cette base de données envoie et reçoit actuellement des messages.

0 = Tous les messages envoyés restent dans la file d'attente de transmission alors que les messages reçus ne sont pas mis en attente dans cette base de données.

Le Service Broker des bases de données restaurées ou attachées est par défaut désactivé. L'exception à cette règle repose sur la mise en miroir de bases de données lorsque Service Broker est activé après une panne.

log_reuse_wait

tinyint

La réutilisation de l'espace du journal des transactions est en cours d'attente de l'un des événements suivants :

0 = Rien

1 = Point de contrôle

2 = Sauvegarde du journal

3 = Sauvegarde ou restauration active

4 = Transaction active

5 = Mise en miroir de la base de données

6 = Réplication

7 = Création de l'instantané de base de données

8 = Analyse du journal

9 = Un réplica secondaire Groupes de disponibilité AlwaysOn applique des enregistrements des journaux de transactions de cette base de données à une base de données secondaire correspondante.

S'applique à : SQL Server 2012 et SQL Server 2012. Dans les versions précédentes de SQL Server, 9 = Autre (Temporaire).

10 = À usage interne uniquement

11 = À usage interne uniquement

12 = À usage interne uniquement

13 = Page la plus ancienne

S'applique à : SQL Server 2012 et SQL Server 2012.

14 = Autre (transitoire)

S'applique à : SQL Server 2012 et SQL Server 2012.

log_reuse_wait_desc

nvarchar(60)

La description de la réutilisation de l'espace du journal des transactions est en cours d'attente de l'un des événements suivants :

  • NOTHING

  • CHECKPOINT

  • LOG_BACKUP

    [!REMARQUE]

    Si la raison en est LOG_BACKUP, deux sauvegardes risquent d'être nécessaires pour libérer de l'espace.

  • ACTIVE_BACKUP_OR_RESTORE

  • ACTIVE_TRANSACTION

  • DATABASE_MIRRORING

  • REPLICATION

  • DATABASE_SNAPSHOT_CREATION

  • LOG_SCAN

  • AVAILABILITY_REPLICA

    [!REMARQUE]

    Pour identifier la base de données secondaire qui retarde la troncation du journal, consultez la colonne truncation_lsn de la vue de gestion dynamique sys.dm_hadr_database_replica_states.

  • Usage interne uniquement

  • Usage interne uniquement

  • Usage interne uniquement

  • OLDEST_PAGE

  • OTHER_TRANSIENT

is_date_correlation_on

bit

1 = DATE_CORRELATION_OPTIMIZATION est activé

0 = DATE_CORRELATION_OPTIMIZATION est désactivé

is_cdc_enabled

bit

1 = La base de données est activée pour la capture des données modifiées. Pour plus d'informations, consultez sys.sp_cdc_enable_db (Transact-SQL).

is_encrypted

bit

Indique si la base de données est chiffrée (reflète l'état dernièrement défini à l'aide de la clause ALTER DATABASE SET ENCRYPTION). Il peut s'agir de l'une des valeurs suivantes :

1 = Chiffré

0 = Non chiffré

Pour plus d'informations sur le chiffrement des bases de données, consultez Chiffrement transparent des données (TDE).

Si la base de données est en cours de déchiffrement, is_encrypted affiche la valeur 0. Vous pouvez consulter l'état du processus de chiffrement en utilisant la vue de gestion dynamique sys.dm_database_encryption_keys.

is_honor_broker_priority_on

bit

Indique si la base de données honore les priorités de conversation (reflète l'état dernièrement défini à l'aide de la clause ALTER DATABASE SET HONOR_BROKER_PRIORITY). Il peut s'agir de l'une des valeurs suivantes :

1 = HONOR_BROKER_PRIORITY a la valeur ON

0 = HONOR_BROKER_PRIORITY a la valeur OFF

replica_id

uniqueidentifier

Identificateur unique du réplica de disponibilité Groupes de disponibilité AlwaysOn local du groupe de disponibilité, le cas échéant, auquel la base de données participe.

NULL = La base de données ne fait pas partie d'un réplica de disponibilité dans un groupe de disponibilité.

S'applique à : SQL Server 2012 via SQL Server 2012 et Base de données SQL.

group_database_id

uniqueidentifier

Identificateur unique de la base de données dans le groupe de disponibilité AlwaysOn, le cas échéant, auquel la base de données participe. group_database_id est identique pour cette base de données sur le réplica principal et sur chaque réplica secondaire sur lequel la base de données a été jointe au groupe de disponibilité.

NULL = La base de données ne fait pas partie d'un réplica de disponibilité dans un groupe de disponibilité.

S'applique à : SQL Server 2012 via SQL Server 2012 et Base de données SQL.

default_language_lcid

smallint

Indique l'ID local (lcid) de la langue par défaut d'une base de données à relation contenant-contenu.

Remarque   Fonctionne comme Configurer l'option de configuration du serveur Langue par défaut de sp_configure. Cette valeur est null pour une base de données sans relation contenant-contenu.

S'applique à : SQL Server 2012 via SQL Server 2012 et Base de données SQL.

default_language_name

nvarchar(128)

Indique la langue par défaut d'une base de données à relation contenant-contenu.

Cette valeur est null pour une base de données sans relation contenant-contenu.

default_fulltext_language_lcid

int

Indique l'ID local (lcid) de la langue de recherche en texte intégral par défaut de la base de données à relation contenant-contenu.

Remarque   Fonctionne comme Configurer l'option de configuration du serveur Langue de texte intégral par défaut par défaut de sp_configure. Cette valeur est null pour une base de données sans relation contenant-contenu.

S'applique à : SQL Server 2012 via SQL Server 2012 et Base de données SQL.

default_fulltext_language_name

nvarchar(128)

Indique la langue par défaut de recherche en texte intégral de la base de données à relation contenant-contenu.

Cette valeur est null pour une base de données sans relation contenant-contenu.

S'applique à : SQL Server 2012 via SQL Server 2012 et Base de données SQL.

is_nested_triggers_on

bit

Indique si les déclencheurs imbriqués sont autorisés dans la base de données à relation contenant-contenu.

0 = Les déclencheurs imbriqués ne sont pas autorisés

1 = Les déclencheurs imbriqués sont autorisés

Remarque   Fonctionne comme Configurer l'option de configuration du serveur nested triggers de sp_configure. Cette valeur est null pour une base de données sans relation contenant-contenu. Pour plus d'informations, consultez sys.configurations (Transact-SQL).

S'applique à : SQL Server 2012 via SQL Server 2012 et Base de données SQL.

is_transform_noise_words_on

bit

Indique si les mots parasites doivent être transformés dans la base de données à relation contenant-contenu.

0 = Les mots parasites ne doivent pas être transformés.

1 = Les mots parasites doivent être transformés.

S'applique à : SQL Server 2012 et SQL Server 2012.

Remarque   Fonctionne comme Transformer les mots parasites (option de configuration de serveur) de sp_configure. Cette valeur est null pour une base de données sans relation contenant-contenu. Pour plus d'informations, consultez sys.configurations (Transact-SQL).

two_digit_year_cutoff

smallint

Indique la valeur d'un nombre entre 1 753 et 9 999 pour représenter l'année de coupure afin d'interpréter les années à deux chiffres comme des années à quatre chiffres.

S'applique à : SQL Server 2012 via SQL Server 2012 et Base de données SQL.

Remarque   Fonctionne comme Configurer l'option de configuration du serveur two digit year cutoff de sp_configure. Cette valeur est null pour une base de données sans relation contenant-contenu. Pour plus d'informations, consultez sys.configurations (Transact-SQL).

containment

tinyint not null

Indique l'état de la relation contenant-contenu de la base de données.

0 = La relation contenant-contenu de base de données est désactivée

1 = La base de données est dans une relation contenant-contenu partielle

S'applique à : SQL Server 2012 via SQL Server 2012 et Base de données SQL.

containment_desc

nvarchar(60) not null

Indique l'état de la relation contenant-contenu de la base de données.

NONE = Base de données héritée (relation contenant-contenu nulle)

PARTIAL = Base de données à relation contenant-contenu partielle

S'applique à : SQL Server 2012 via SQL Server 2012 et Base de données SQL.

target_recovery_time_in_seconds

int

Durée estimée pour récupérer la base de données, en secondes. Autorise la valeur NULL.

S'applique à : SQL Server 2012 et SQL Server 2012.

is_federation_member

bit

Indique si la base de données est membre d'une fédération.

S'applique à : Base de données SQL Windows Azure

Autorisations

Si l'appelant de sys.databases n'est pas le propriétaire de la base de données et si celle-ci n'est pas de type master ou tempdb, les autorisations minimales requises pour consulter la ligne correspondante sont les autorisations ALTER ANY DATABASE ou VIEW ANY DATABASE au niveau du serveur, ou encore l'autorisation CREATE DATABASE dans la base de données master. La base de données à laquelle l'appelant est connecté peut toujours être vue dans sys.databases.

Notes concernant Base de données SQL Windows Azure

Dans Base de données SQL Windows Azure, cette vue est disponible dans la base de données master et dans les bases de données utilisateur. Dans la base de données master, cette vue retourne des informations sur la base de données master et toutes les bases de données utilisateur sur le serveur. Dans une base de données utilisateur, cette vue ne retourne des informations que sur la base de données active et la base de données master.

Utilisez la vue sys.databases dans la base de données master du serveur Base de données SQL Windows Azure où la base de données est créée. Après le démarrage de copie de base de données, vous pouvez interroger les vues sys.databases et sys.dm_database_copies de la base de données master du serveur de destination pour récupérer plus d'informations sur la progression de la copie.

Exemples

A.Interroger la vue sys.databases

L'exemple suivant retourne quelques-unes des colonnes disponibles dans la vue sys.databases.

S'applique à : SQL Server 2008 via SQL Server 2012 et Base de données SQL Windows Azure.

SELECT name, user_access_desc, is_read_only, state_desc, recovery_model_desc
FROM sys.databases;

B.Vérifier l'état de copie dans Base de données SQL Windows Azure

L'exemple suivant interroge les vues sys.databases et sys.dm_database_copies pour retourner des informations sur une opération de copie de base de données.

S'applique à : Base de données SQL Windows Azure

-- Execute from the master database.
SELECT a.name, a.state_desc, b.start_date, b.modify_date, b.percentage_complete
FROM sys.databases AS a
INNER JOIN sys.dm_database_copies AS b ON a.database_id = b.database_id
WHERE a.state = 7;

Voir aussi

Référence

ALTER DATABASE (Transact-SQL)

sys.database_mirroring_witnesses (Transact-SQL)

sys.database_recovery_status (Transact-SQL)

Affichages catalogue de bases de données et de fichiers (Transact-SQL)

Autres ressources

sys.dm_database_copies