Au minimum, une base de données SQL Server possède deux fichiers de système d'exploitation; le fichier de données et le fichier journal.
Le fichier de données contient les données réelles de la base de données, ainsi que des objets tels que des tables, des index, des procédures stockées et des vues. Le fichier journal contient les informations nécessaires pour récupérer toutes les transactions dans la base de données.
Lorsque vous créez une base de données à l'aide des options par défaut, ces deux fichiers sont créés. Ces fichiers sont créés dans le 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. Ainsi, le groupe de fichiers principal est le groupe de fichiers par défaut (sauf s'il est modifié à l'aide de ALTER DATABASE
déclaration).
Lorsque vous créez plusieurs fichiers de données, vous avez également la possibilité de les regrouper dans un groupe de fichiers défini par l'utilisateur. Cela vous permet de regrouper logiquement les fichiers dans leur propre groupe de fichiers que vous avez créé. Ce groupe de fichiers existera alors en plus du groupe de fichiers principal. Les objets de la base de données resteront dans le groupe de fichiers principal.
Cet article explique comment créer un groupe de fichiers défini par l'utilisateur et y ajouter des fichiers de données.
Exemple
Voici un exemple d'utilisation de T-SQL pour ajouter un groupe de fichiers à une base de données existante :
USE master GO ALTER DATABASE Solutions ADD FILEGROUP Solutions1Filegroup1; GO ALTER DATABASE Solutions ADD FILE ( NAME = Solutions_dat_2, FILENAME = 'D:\mssql\data\Solutions_dat2.ndf', SIZE = 10MB, MAXSIZE = 100MB, FILEGROWTH = 5% ), ( NAME = Solutions_dat_3, FILENAME = 'D:\mssql\data\Solutions_dat3.ndf', SIZE = 10MB, MAXSIZE = 100MB, FILEGROWTH = 5% ) TO FILEGROUP Solutions1Filegroup1; GO
Cet exemple crée un groupe de fichiers appelé Solutions1Filegroup1
et y ajoute deux fichiers de données. Nous spécifions les éléments habituels pour chaque fichier, tels que son nom logique, son chemin de fichier physique, sa taille, etc.
L'hypothèse avec cet exemple est qu'il existe déjà un fichier de données appelé Solutions_dat_1
. Par conséquent, nous nommons ces fichiers de la même manière, mais incrémentons simplement le numéro pour chaque fichier.
De plus, dans cet exemple, nous nommons le groupe de fichiers comme s'il n'en était qu'un parmi tant d'autres. Nous pouvons créer plusieurs groupes de fichiers si nécessaire, et si nous le faisons, nous voudrons probablement une convention de dénomination qui facilite la distinction entre chaque groupe de fichiers.
Afficher les groupes de fichiers
Vous pouvez afficher les groupes de fichiers pour une base de données donnée en interrogeant le sys.filegroups
vue du catalogue.
Exemple :
USE Solutions; SELECT name, type_desc FROM sys.filegroups;
Résultat :
name type_desc -------------------- -------------- PRIMARY ROWS_FILEGROUP Solutions1Filegroup1 ROWS_FILEGROUP
Vous pouvez également utiliser un astérisque (*) pour renvoyer toutes les lignes si nécessaire.