Partager via


Groupes de fichiers et fichiers de base de données

Au minimum, chaque base de données SQL Server a deux fichiers de système d’exploitation : un fichier de données et un fichier journal. Les fichiers de données contiennent des données et des objets tels que des tables, des index, des procédures stockées et des vues. Les fichiers journaux contiennent les informations requises pour récupérer toutes les transactions dans la base de données. Les fichiers de données peuvent être regroupés dans des groupes de fichiers à des fins d’allocation et d’administration.

Fichiers de base de données

Les bases de données SQL Server ont trois types de fichiers, comme indiqué dans le tableau suivant.

Fichier Descriptif
Primaire Le fichier de données principal contient les informations de démarrage de la base de données et pointe vers les autres fichiers de la base de données. Les données et objets utilisateur peuvent être stockés dans ce fichier ou dans des fichiers de données secondaires. Chaque base de données a un fichier de données principal. L’extension de nom de fichier recommandée pour les fichiers de données principaux est .mdf.
Secondaire Les fichiers de données secondaires sont facultatifs, sont définis par l’utilisateur et stockent les données utilisateur. Les fichiers secondaires peuvent être utilisés pour répartir des données sur plusieurs disques en plaçant chaque fichier sur un lecteur de disque différent. En outre, si une base de données dépasse la taille maximale d’un fichier Windows unique, vous pouvez utiliser des fichiers de données secondaires afin que la base de données puisse continuer à croître.

L’extension de nom de fichier recommandée pour les fichiers de données secondaires est .ndf.
Journal des transactions Les fichiers journaux des transactions contiennent les informations de journal utilisées pour récupérer la base de données. Il doit y avoir au moins un fichier journal pour chaque base de données. L’extension de nom de fichier recommandée pour les journaux des transactions est .ldf.

Par exemple, une base de données simple nommée Sales peut être créée qui inclut un fichier principal qui contient toutes les données et objets et un fichier journal qui contient les informations du journal des transactions. Vous pouvez également créer une base de données plus complexe nommée Orders qui inclut un fichier principal et cinq fichiers secondaires. Les données et les objets de la base de données se répartissent sur les six fichiers, et les quatre fichiers journaux contiennent les informations du journal des transactions.

Par défaut, les données et les journaux des transactions sont placés sur le même lecteur et le même chemin. Cela permet de gérer des systèmes à disque unique. Toutefois, cela peut ne pas être optimal pour les environnements de production. Nous vous recommandons de placer des données et des fichiers journaux sur des disques distincts.

Groupes de fichiers

Chaque base de données a un groupe de fichiers principal. Ce groupe de fichiers contient le fichier de données principal et tous les fichiers secondaires qui ne sont pas placés dans d’autres groupes de fichiers. Les groupes de fichiers définis par l’utilisateur peuvent être créés pour regrouper des fichiers de données à des fins d’administration, d’allocation de données et de placement.

Par exemple, trois fichiers, Data1.ndf, Data2.ndf et Data3.ndf, peuvent être créés sur trois lecteurs de disque, respectivement, et affectés au groupe de fichiers fgroup1. Une table peut ensuite être créée spécifiquement sur le groupe de fichiers fgroup1. Les requêtes pour les données de la table sont réparties sur les trois disques ; cela permettra d’améliorer les performances. La même amélioration des performances peut être obtenue à l’aide d’un seul fichier créé sur un ensemble de bandes RAID (tableau redondant de disques indépendants). Toutefois, les fichiers et les groupes de fichiers vous permettent d’ajouter facilement de nouveaux fichiers à de nouveaux disques.

Tous les fichiers de données sont stockés dans les groupes de fichiers répertoriés dans le tableau suivant.

Groupe de fichiers Descriptif
Primaire Groupe de fichiers qui contient le fichier principal. Toutes les tables système sont allouées au groupe de fichiers principal.
Définie par l'utilisateur Tout groupe de fichiers spécifiquement créé par l’utilisateur lorsque l’utilisateur crée ou modifie la base de données ultérieurement.

Groupe de fichiers par défaut

Lorsque des objets sont créés dans la base de données sans spécifier le groupe de fichiers auquel ils appartiennent, ils sont affectés au groupe de fichiers par défaut. À tout moment, un groupe de fichiers est désigné comme groupe de fichiers par défaut. Les fichiers du groupe de fichiers par défaut doivent être suffisamment volumineux pour contenir les nouveaux objets non alloués à d’autres groupes de fichiers.

Le groupe de fichiers PRIMARY est le groupe de fichiers par défaut, sauf s’il est modifié à l’aide de l’instruction ALTER DATABASE. L’allocation pour les objets système et les tables reste dans le groupe de fichiers PRIMARY, et non dans le nouveau groupe de fichiers par défaut.

CREATE DATABASE (SQL Server Transact-SQL)

Options de fichier et de groupe de fichiers ALTER DATABASE (Transact-SQL)

Détacher et attacher une base de données (SQL Server)