La base de données qui va recevoir les données FILESTREAM doit être configurée en conséquence.
Filestream : Configuration de la base de données
Tout d’abord, elle doit contenir au moins un Filegroup défini comme pouvant héberger les données FILESTREAM. Ce Filegroup est créé de la même manière que les Filegroups classiques, mais avec l’ajout de la clause CONTAINS FILESTREAM.
Filstream
En revanche, à l’inverse des autres Filegroups, celui-ci ne contiendra pas de fichiers de données (type NDF) mais plutôt un chemin vers l’emplacement du FileSystem qui hébergera les documents. Les notions de taille de fichier, pas de croissance de fichier, etc… n’ont donc pas lieu d’être dans ce cas. Lors de la définition de cet emplacement, tous les répertoires, sauf le dernier mentionné, doivent avoir été préalablement créés. A noter que depuis SQL Server 2012, il est possible de définir la MAXSIZE du data container et de définir plusieurs emplacements FILESTREAM dans un seul Filegroup.
Par ailleurs, le dossier cible doit se trouver sur un système de fichier de type NTFS, FILESTREAM n’étant pas supporté sur les autres types de système de fichiers (FAT, FAT32, et même ReFS, nouveau FileSystem Windows 2012 qui n’est aujourd’hui pas pris en charge par SQL Server 2012).
J’ajouterai enfin qu’il est tout à fait possible d’activer la compression NTFS sur le système de fichier hébergeant les fichiers FILESTREAM, permettant ainsi des gains de places substantiels.
Exemple :
CREATE DATABASE DB_FILESTREAM
ON
PRIMARY (NAME = DB_FILESTREAM_Data01,
FILENAME = ‘D:\MSSQL\Data\DB_FILESTREAM_Data01.
mdf’),
FILEGROUP FG1_FILESTREAM CONTAINS FILESTREAM DEFAULT(NAME =
FS1_DB_FILESTREAM,
FILENAME = ‘D:\MSSQL\FILESTREAM1’),
FILEGROUP FG2_FILESTREAM CONTAINS FILESTREAM (NAME = FS2_
DB_FILESTREAM,
FILENAME = ‘D:\MSSQL\FILESTREAM2’)
LOG ON (NAME = DB_FILESTREAM_Tlog,
FILENAME = ‘D:\MSSQL\Tlog\DB_FILESTREAM_Tlog01.
ldf’);
Dans l’exemple ci-dessus, le chemin D:\MSSQL doit exister mais les dossiers finaux FILESTREAM1 et FILESTREAM2 seront créés par le moteur lui-même.
Un coup d’oeil sur la vue système sys.database_files nous montre le type de chaque fichier (voir tableau ci-dessous).
| name | type | type_desc | physical_name |
| DB_FILESTREAM_Data01 | 0 | ROWS | D:\MSSQL\Data\DB_ FILESTREAM_Data01.mdf |
| DB_FILESTREAM_Tlog | 1 | LOG | D:\MSSQL\Tlog\DB_ FILESTREAM_Tlog01.ldf |
| FS1_DB_FILESTREAM | 2 | FILESTREAM | OD:\MSSQL\FILESTREAM1 |
| FS2_DB_FILESTREAM | 2 | FILESTREAM | D:\MSSQL\FILESTREAM2 |
select name, type, type_desc, physical_name from sys.database_files
Nous avons maintenant une base prête à accueillir des données FILESTREAM, voyons maintenant comment créer les tables qui contiendront les données à proprement parler.
Téléchargez cette ressource
Plan de sécurité Microsoft 365
Les attaquants savent comment prendre le contrôle de votre tenant Microsoft 365, et vous, savez-vous comment le reprendre en main ?
Les articles les plus consultés
Les plus consultés sur iTPro.fr
- Le trilemme de la souveraineté : le coût caché du cloud qui freine l’IA en Europe
- Moderniser le développement logiciel : de la fragmentation à l’intégration
- Semperis : gouverner l’identité à l’ère des agents IA
- Analyse Patch Tuesday Mars 2026
Articles les + lus
Femmes et métiers de la tech : une attractivité réelle freinée par des stéréotypes persistants
Moderniser le développement logiciel : de la fragmentation à l’intégration
Analyse Patch Tuesday Mars 2026
Une nouvelle ère de la modernisation du mainframe
Communes, entreprises ? Non, face au RGAA 5, l’IA seule ne rendra pas vos sites accessibles
À la une de la chaîne Tech
- Femmes et métiers de la tech : une attractivité réelle freinée par des stéréotypes persistants
- Moderniser le développement logiciel : de la fragmentation à l’intégration
- Analyse Patch Tuesday Mars 2026
- Une nouvelle ère de la modernisation du mainframe
- Communes, entreprises ? Non, face au RGAA 5, l’IA seule ne rendra pas vos sites accessibles
