Les données simples (ou structurées) telles qu'elles apparaissent dans de nombreuses applications de gestion sont de plus en plus associées à des données non structurées comme des documents qui possèdent un format complexe. En effet, les images, par exemple, sont de plus en plus présentes et permettent une meilleure compréhension
Le type FILESTREAM

des données. Les sons et les vidéos sont également de plus en plus présents.
En plus de ces données multimédia, il existe des documents à associer aux données relationnelles. La gestion de tous ces éléments directement dans la base de données peut poser des problèmes de manipulation des données, mais surtout alourdit considérablement les tâches administratives de gestion de l’espace disque et complique les opérations de sauvegarde, restauration de la base de données.
C’est pour cela que les informations de ce type sont souvent stockées directement sur le système de fichiers. Cette solution offre beaucoup de souplesse quant à la gestion des données non structurées mais par contre les documents ne sont plus liés aux données structurées ce qui pose de nombreux soucis de synchronisation des données. Pour essayer de tirer le meilleur des deux solutions, SQL Server 2008 propose l’attribut FILESTREAM sur les données de types blob(varbinary). Avec cet attribut, le serveur de base de données autorise le stockage des données de type blob sur le système de fichier. Ainsi le volume global de la base de données reste raisonnable mais les données structurées sont bien associées aux données non structurées au niveau même de la base.
L’utilisation de FILESTREAM peut ouvrir une brèche dans la sécurité du serveur, aussi cette option n’est pas disponible par défaut, et il est nécessaire de l’activer par l’intermédiaire de la procédure sp_filestream_configure.
exec sp_filestream_configure
@enable_level=3,@share_name="PartageFileStream"
La commande net share permet de s’assurer que le partage est bien actif. Voir figure 1. Pour permettre à une base d’utiliser ce partage FILESTREAM, il est nécessaire de définir un "groupe de fichiers" spécifique. Ce groupe de fichier peut être défini lors de la création de la base ou bien en ajout sur une base active.
Le groupe FileStream doit référencer un dossier qui existe. L’exemple suivant illustre comment modifier une base existante.
alter database vague2008
add filegroup GroupeFileStream contains filestream;
go
alter database vague2008
add file(
name=FileStreamDB,
filename=N’c:\demoFS\test’ )
to filegroup GroupeFileStream;
Maintenant que la mise en place est faite il est possible de définir une table avec une colonne de type filestream. Cette opération est illustrée par le script suivant. De même quelques valeurs sont insérées dans la table. Cette insertion permet au passage d’illustrer la nouvelle syntaxe de la commande insert qui permet d’ajouter plusieurs lignes à l’aide d’une seule instruction.
create table contact(
id UNIQUEIDENTIFIER ROWGUIDCOL NOT NULL UNIQUE,
om nvarchar(80),
photo varbinary(max) filestream);
go
insert into contact(id,nom, photo)
values (newid(),’Durand’, cast(‘Photo Durand’ as varbinary(max))),
(newid(),’Dupond’, cast(‘Photo Dupond’ as varbinary(max)));
Il est alors intéressant de visualiser le contenu du dossier référencé par le groupe de fichiers destiné à recevoir les données de type FILESTREAM. Voir figure 2.
Téléchargez cette ressource

État des lieux de la réponse à incident de cybersécurité
Les experts de Palo Alto Networks, Unit 42 et Forrester Research livrent dans ce webinaire exclusif leurs éclairages et stratégies en matière de réponses aux incidents. Bénéficiez d'un panorama complet du paysage actuel de la réponse aux incidents et de sa relation avec la continuité de l'activité, des défis auxquels font face les entreprises et des tendances majeures qui modèlent ce domaine. Un état des lieux précieux pour les décideurs et professionnels IT.
Les articles les plus consultés
Les plus consultés sur iTPro.fr
- Les risques liés à l’essor fulgurant de l’IA générative
- Pourquoi est-il temps de repenser la gestion des vulnérabilités ?
- Reporting RSE : un levier d’innovation !
- De la 5G à la 6G : la France se positionne pour dominer les réseaux du futur
- Datanexions, acteur clé de la transformation numérique data-centric
