![Free-eBooks.net](/resources/img/logo-nfe.png)
![All New Design](/resources/img/allnew.png)
Le groupe de fichiers primaire contient le fichier de données primaire ainsi que tous les
autres fichiers qui ne sont pas spécifiquement affectés à un autre groupe de fichiers.
Toutes les pages des tables système sont allouées au groupe de fichiers primaire.
Définis par l'utilisateur
Ce groupe désigne tous les groupes de fichiers créés à l'aide du mot clé FILEGROUP
dans une instruction CREATE DATABASE ou ALTER DATABASE.
Les fichiers journaux ne font jamais partie d'un groupe de fichiers. L'espace qui leur est
réservé est géré indépendamment de l'espace réservé aux données.
68
Un fichier ne peut pas appartenir à plusieurs groupes de fichiers. Les tables, les index et
les données LOB (Large Object) peuvent être associés à un groupe de fichiers particulier.
Dans ce cas, toutes leurs pages sont allouées à ce groupe de fichiers ou les tables et les
index peuvent être partitionnés. Les données des index et des tables partitionnées sont
réparties en unités, dont chacune peut être placée dans un groupe de fichiers distinct au
sein d'une base de données.
Dans chaque base de données, un groupe de fichiers est désigné comme groupe de
fichiers par défaut. Lorsque vous créez une table ou un index sans spécifier un groupe de
fichiers, le système considère que toutes les pages doivent être allouées depuis le groupe
de fichiers par défaut. Seul un groupe de fichiers à la fois peut faire office de groupe de
fichiers par défaut. Les membres du rôle de base de données fixe db_owner peuvent
faire basculer le groupe de fichiers par défaut d'un groupe à un autre. En l'absence de
spécification, c'est le groupe de fichiers primaire qui sert de groupe de fichiers par
défaut.
Exemple : On crée une base de données sur une instance de SQL Server.
USE master;
GO
CREATE DATABASE BaseDeTest
ON PRIMARY
( NAME='BaseDeTest_dat',
FILENAME=
'c:\Program Files\Microsoft SQL
Server\MSSQL10.MSSQLSERVER\MSSQL\data\BaseDeTest.mdf',
SIZE=4MB,
MAXSIZE=10MB,
FILEGROWTH=1MB)
LOG ON
( NAME='BaseDeTest_log',
FILENAME =
'c:\Program Files\Microsoft SQL
Server\MSSQL10.MSSQLSERVER\MSSQL\data\BaseDeTest.ldf',
SIZE=1MB,
MAXSIZE=10MB,
FILEGROWTH=1MB);
GO
Nous allons créer 5 groupes de fichiers. On crée les espaces de stockage du
partitionnement :
-- Création des storages :
ALTER DATABASE BaseDeTest
ADD FILEGROUP Groupe1;
ALTER DATABASE BaseDeTest
ADD FILEGROUP Groupe2;
ALTER DATABASE BaseDeTest
ADD FILEGROUP Groupe3;
ALTER DATABASE BaseDeTest
ADD FILEGROUP Groupe4;
69
ALTER DATABASE BaseDeTest
ADD FILEGROUP Groupe5;
-- Ajouts de fichiers aux storages :
ALTER DATABASE BaseDeTest
ADD FILE (NAME = 'Partitionnement1',
FILENAME = 'c:\Program Files\Microsoft SQL
Server\MSSQL10.MSSQLSERVER\MSSQL\data\Partitionnement1.ndf',
SIZE = 1 GB,
FILEGROWTH = 10 MB)
TO FILEGROUP Groupe1;
ALTER DATABASE BaseDeTest
ADD FILE (NAME = 'Partitionnement2',
FILENAME = 'c:\Program Files\Microsoft SQL
Server\MSSQL10.MSSQLSERVER\MSSQL\data\Partitionnement2.ndf',
SIZE = 1 GB,
FILEGROWTH = 10 MB)
TO FILEGROUP Groupe2;
ALTER DATABASE BaseDeTest
ADD FILE (NAME = 'Partitionnement3',
FILENAME = 'c:\Program Files\Microsoft SQL
Server\MSSQL10.MSSQLSERVER\MSSQL\data\Partitionnement3.ndf',
SIZE = 1 GB,
FILEGROWTH = 10 MB)
TO FILEGROUP Groupe3;
ALTER DATABASE BaseDeTest
ADD FILE (NAME = 'Partitionnement4',
FILENAME = 'c:\Program Files\Microsoft SQL
Server\MSSQL10.MSSQLSERVER\MSSQL\data\Partitionnement4.ndf',
SIZE = 1 GB,
FILEGROWTH = 10 MB)
TO FILEGROUP Groupe4;
ALTER DATABASE BaseDeTest
ADD FILE (NAME = 'Partitionnement5',
FILENAME = 'c:\Program Files\Microsoft SQL
Server\MSSQL10.MSSQLSERVER\MSSQL\data\Partitionnement5.ndf',
SIZE = 1 GB,
FILEGROWTH = 10 MB)
TO FILEGROUP Groupe5;
5 storages ont été créés et dans chacun de ces espaces de stockage on a créé un fichier
de 1 Go avec une stratégie de croissance par pas de 10 Mo. Notez que chaque fichier est
créé sur le même disque. Dans le cas où nous créons des fichiers sur des disques
différents, l’accès doit être physique comme une partition de disque par exemple.