> Tech > Le type FILESTREAM

Le type FILESTREAM

Tech - Par Renaud ROSSET - Publié le 24 juin 2010
email

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

Guide de technologie 5G pour l’entreprise

Guide de technologie 5G pour l’entreprise

Pourquoi la 5G est-elle faite pour votre entreprise ? La 5G peut améliorer la vitesse, la fiabilité et la capacité de votre réseau, permettant ainsi une meilleure collaboration, une productivité accrue et une prise de décision plus rapide. Notre livre blanc " The Big Book of Enterprise 5G" vous fournit les informations stratégiques dont vous avez besoin pour prendre des décisions éclairées et préparer votre entreprise à prospérer dans l'ère de la 5G. Cradlepoint, part of Ericsson est le leader mondial des solutions de réseau sans fil 4G LTE et 5G fournies via le cloud. Connectez vos employés, lieux et objets avec la 4G LTE et la 5G pour un WAN sans fil d'entreprise.

Tech - Par Renaud ROSSET - Publié le 24 juin 2010