sys.database_files (Transact-SQL)
S’applique à : SQL Server Azure SQL Database Azure SQL Managed Instance Azure Synapse Analytics Analytics Platform System (PDW)
Contient une ligne par fichier d'une base de données telle qu'elle est stockée dans la base de données. C'est une vue par base de données.
Nom de la colonne | Type de données | Description |
---|---|---|
file_id |
int | ID du fichier dans la base de données. |
file_guid |
uniqueidentifier | GUID du fichierNULL = La base de données a été mise à niveau à partir d’une version antérieure de SQL Server (valide pour SQL Server 2005 et versions antérieures). |
type |
tinyint | Type de fichier : 0 = Lignes 1 = journal 2 = FILESTREAM 3 = Identifié à titre d’information uniquement. Non pris en charge. La compatibilité future n'est pas garantie. 4 = Texte intégral |
type_desc |
nvarchar(60) | Description du type de fichier :ROWS LOG FILESTREAM FULLTEXT |
data_space_id |
int | La valeur peut être égale à zéro ou supérieure à zéro. Une valeur représentant le fichier journal de 0 base de données, et une valeur supérieure à zéro représente l’ID du groupe de fichiers où ce fichier de données est stocké. |
name |
sysname | Nom logique du fichier dans la base de données. |
physical_name |
nvarchar(260) | Nom de fichier du système d'exploitation. Si la base de données est hébergée par un réplica secondaire lisible par un groupe de disponibilité, physical_name indique l’emplacement du fichier de la base de données du réplica principal. Pour obtenir l’emplacement de fichier approprié d’une base de données secondaire lisible, interrogez sys.sysaltfiles. |
state |
tinyint | État du fichier : 0 = ONLINE 1 = RESTORING 2 = RECOVERING 3 = RECOVERY_PENDING 4 = SUSPECT 5 = Identifié à titre d’information uniquement. Non pris en charge. La compatibilité future n'est pas garantie. 6 = OFFLINE 7 = DEFUNCT |
state_desc |
nvarchar(60) | Description de l'état du fichier :ONLINE RESTORING RECOVERING RECOVERY_PENDING SUSPECT OFFLINE DEFUNCT Pour plus d’informations, consultez États des fichiers. |
size |
int | Taille actuelle du fichier (en pages de 8 Ko) 0 = Non applicable Dans le cas d'un instantané de base de données, size reflète l'espace maximal que celle-ci peut utiliser pour le fichier. Pour les conteneurs de groupe de fichiers FILESTREAM, size reflète la taille utilisée actuelle du conteneur. |
max_size |
int | Taille maximale du fichier, en pages de 8 Ko : 0 = aucune croissance n'est autorisée. -1 = Le fichier peut croître jusqu’à ce que le disque soit plein. 268435456 = Le fichier journal peut atteindre une taille maximale de 2 To. Pour les conteneurs de groupes de fichiers FILESTREAM, max_size reflète la taille maximale du conteneur.Bases de données mises à niveau avec un rapport -1 de taille de fichier journal illimité pour la taille maximale du fichier journal.Dans Azure SQL Database, la somme des valeurs de tous les fichiers de max_size données peut être inférieure à la taille maximale des données pour la base de données. Utilisez DATABASEPROPERTYEX(DB_NAME(), 'MaxSizeInBytes') pour déterminer la taille maximale des données. |
growth |
int | 0 = la taille du fichier est fixe et celui-ci ne croît pas. Supérieur à 0 = Le fichier augmente automatiquement. Si is_percent_growth = 0, l’incrément de croissance est en unités de 8 Ko de pages, arrondi à la plus proche de 64 Ko.Si is_percent_growth = 1, l’incrément de croissance est exprimé sous la forme d’un pourcentage de nombre entier. |
is_media_read_only |
bit | 1 = le fichier se trouve sur un support en lecture seule. 0 = Le fichier se trouve sur un support en lecture-écriture. |
is_read_only |
bit | 1 = le fichier est marqué comme étant accessible en lecture seule. 0 = Le fichier est marqué en lecture-écriture. |
is_sparse |
bit | 1 = le fichier est un fichier partiellement alloué. 0 = le fichier n'est pas un fichier partiellement alloué. Pour plus d’informations, consultez Afficher la taille du fichier partiellement alloué d’un instantané de base de données (Transact-SQL). |
is_percent_growth |
bit | 1 = la croissance du fichier est exprimée en pourcentage. 0 = importance de croissance absolue en pages. |
is_name_reserved |
bit | 1 = Nom de fichier supprimé (name ou physical_name ) est réutilisable uniquement après la sauvegarde du journal suivant. Lorsque des fichiers sont supprimés d'une base de données, les noms logiques restent réservés jusqu'à la prochaine sauvegarde du journal. Cette colonne concerne uniquement le mode de restauration complète et le mode de récupération utilisant les journaux de transactions. |
create_lsn |
numeric(25,0) | Numéro séquentiel dans le journal (LSN) auquel le fichier a été créé. |
drop_lsn |
numeric(25,0) | LSN auquel le fichier a été supprimé. 0 = Le nom de fichier n'est pas disponible pour réutilisation. |
read_only_lsn |
numeric(25,0) | LSN auquel le groupe de fichiers qui contient le fichier est passé de l'état lecture/écriture à l'état lecture seule (changement le plus récent). |
read_write_lsn |
numeric(25,0) | LSN auquel le groupe de fichiers qui contient le fichier est passé de l'état lecture seule à l'état lecture/écriture (changement le plus récent). |
differential_base_lsn |
numeric(25,0) | Base des sauvegardes différentielles. Les étendues de données modifiées après ce LSN sont incluses dans une sauvegarde différentielle. |
differential_base_guid |
uniqueidentifier | Identificateur unique de la sauvegarde de base sur laquelle repose une sauvegarde différentielle. |
differential_base_time |
datetime | Heure correspondant à differential_base_lsn . |
redo_start_lsn |
numeric(25,0) | LSN auquel doit démarrer la restauration par progression suivante. Est NULL saufRESTORING = state ou .state = RECOVERY_PENDING |
redo_start_fork_guid |
uniqueidentifier | Identificateur unique du branchement de récupération. La first_fork_guid sauvegarde du journal suivante restaurée doit correspondre à cette valeur. Cela représente l'état actuel du fichier. |
redo_target_lsn |
numeric(25,0) | LSN auquel peut s'arrêter la restauration par progression en ligne sur ce fichier. Est NULL saufRESTORING = state ou .state = RECOVERY_PENDING |
redo_target_fork_guid |
uniqueidentifier | Fourchette de récupération dans laquelle le fichier peut être récupéré. Associé à redo_target_lsn . |
backup_lsn |
numeric(25,0) | LSN de la sauvegarde de données ou différentielle du fichier la plus récente. |
Notes
Lorsque vous supprimez ou reconstruisez des index volumineux ou lorsque vous supprimez ou tronquez des tables volumineuses, le moteur de base de données diffère les désallocations des pages actives et de leurs blocs associés jusqu’à ce que la transaction soit validée. Les opérations de suppression différées ne libèrent pas immédiatement l'espace alloué. Par conséquent, les valeurs retournées sys.database_files
immédiatement après la suppression ou la troncation d’un objet volumineux peuvent ne pas refléter l’espace disque réel disponible.
autorisations
Nécessite l'appartenance au rôle public . Pour plus d'informations, consultez Metadata Visibility Configuration.
Exemples
L’instruction suivante retourne le nom, la taille du fichier et la quantité d’espace vide pour chaque fichier de base de données.
SELECT name, size/128.0 FileSizeInMB,
size/128.0 - CAST(FILEPROPERTY(name, 'SpaceUsed') AS int)/128.0
AS EmptySpaceInMB
FROM sys.database_files;
Recherchez des exemples de requêtes utilisant SQL Database, dans Gérer l’espace de fichiers pour les bases de données dans Azure SQL Database. Vous pouvez :
- Interroger une base de données unique pour des informations relatives à l’espace de stockage.
- Interroger un pool élastique pour des informations relatives à l’espace de stockage.
Contenu connexe
- Affichages catalogue de bases de données et de fichiers (Transact-SQL)
- États des fichiers
- sys.databases (Transact-SQL)
- sys.master_files (Transact-SQL)
- Groupes de fichiers et fichiers de base de données
- sys.data_spaces (Transact-SQL)
- Gérer l'espace de fichier des bases de données dans Azure SQL Database
- Gérer l’espace des fichiers pour les bases de données dans Azure SQL Managed Instance