76
Chapitre 4. Optimisation des objets et de la structure de la base de données
tance est souvent nécessaire pour activer cette fonction. Cela pourrait être
amélioré à la sortie finale.
Vous créez ensuite un groupe de fichiers destiné au FILESTREAM :
ALTER DATABASE AdventureWorks
ADD FILEGROUP FileStreamGroup1 CONTAINS FILESTREAM
ALTER DATABASE AdventureWorks
ADD FILE
( NAME = N'AdventureWorks_media',
FILENAME = N'E:\sqldata\AdventureWorks_media')
TO FILEGROUP [FileStreamGroup1]
GO
Ce fichier crée en réalité un répertoire à son emplacement, comme nous le
voyons sur la figure 4.11.
Figure 4.11 — Répertoire des fichiers FILESTREAM
Puis, vous créez une table contenant une colonne de type FILESTREAM :
CREATE TABLE dbo.document (
documentId uniqueidentifier NOT NULL ROWGUIDCOL
DEFAULT (NEWID()) PRIMARY KEY NONCLUSTERED ,
nom varchar(1000) NOT NULL,
document varbinary(max) FILESTREAM);
Le GUID (uniqueidentifier ROWGUIDCOL) est nécessaire pour la gestion du
FILESTREAM par le moteur de stockage. Terminons par un exemple de code, qui vous
montre l’insertion, et l’extraction à partir du FILESTREAM. Remarquez la méthode
PathName() :
INSERT INTO dbo.document (nom, document)
Chapitre 4. Optimisation des objets et de la structure de la base de données
tance est souvent nécessaire pour activer cette fonction. Cela pourrait être
amélioré à la sortie finale.
Vous créez ensuite un groupe de fichiers destiné au FILESTREAM :
ALTER DATABASE AdventureWorks
ADD FILEGROUP FileStreamGroup1 CONTAINS FILESTREAM
ALTER DATABASE AdventureWorks
ADD FILE
( NAME = N'AdventureWorks_media',
FILENAME = N'E:\sqldata\AdventureWorks_media')
TO FILEGROUP [FileStreamGroup1]
GO
Ce fichier crée en réalité un répertoire à son emplacement, comme nous le
voyons sur la figure 4.11.
Figure 4.11 — Répertoire des fichiers FILESTREAM
Puis, vous créez une table contenant une colonne de type FILESTREAM :
CREATE TABLE dbo.document (
documentId uniqueidentifier NOT NULL ROWGUIDCOL
DEFAULT (NEWID()) PRIMARY KEY NONCLUSTERED ,
nom varchar(1000) NOT NULL,
document varbinary(max) FILESTREAM);
Le GUID (uniqueidentifier ROWGUIDCOL) est nécessaire pour la gestion du
FILESTREAM par le moteur de stockage. Terminons par un exemple de code, qui vous
montre l’insertion, et l’extraction à partir du FILESTREAM. Remarquez la méthode
PathName() :
INSERT INTO dbo.document (nom, document)
