dimanche 25 décembre 2011

[SQL 2012] : Activation et utilisation du FileTable

La fonctionnalité FileTable apporte une prise en charge de l'espace de noms de fichier Windows et la compatibilité des applications Windows avec les données de fichier stockées dans SQL Server.

FileTable permet à une application d'intégrer ses composants de stockage et de gestion des données, et fournit des services SQL Server intégrés (notamment la recherche sémantique et en texte intégral) sur des données et des métadonnées non structurées.
En d'autres termes, vous pouvez maintenant stocker des fichiers et des documents dans des tables spéciales dans SQL Server, appelées FileTables, mais y accéder à partir d'applications Windows comme si ils avaient été stockés dans le système de fichiers, sans apporter de modifications à vos applications clientes.

La fonctionnalité FileTable s'appuie sur la technologie SQL Server FILESTREAM.
Les étapes de mise en place du FileTable sont:

1 - Activation du FILESTREAM au niveau de l'instance SQL :


Notez le nom du partage (\\NomduServeur\DENALI dans mon cas) windows qui vous sera utile au moment de l'exploration du dossier FileTable.
2 - Création d'une base de données supportant le FILESTREAM :


CREATE DATABASE [Archive]
 CONTAINMENT = NONE
 ON  PRIMARY
( NAME = N'Arch', FILENAME = N'c:\data\arch.mdf' , SIZE = 4160 KB , MAXSIZE = UNLIMITED, FILEGROWTH = 1024 KB ),
 FILEGROUP [FileStreamGroup] CONTAINS FILESTREAM  DEFAULT
( NAME = N'ArchFile', FILENAME = N'c:\data\filestream' , MAXSIZE = UNLIMITED)
 LOG ON
( NAME = N'Archlog', FILENAME = N'c:\data\archlog.ldf' , SIZE = 1024 KB , MAXSIZE = 2048 GB , FILEGROWTH = 10 %)
GO
IF (1 = FULLTEXTSERVICEPROPERTY('IsFullTextInstalled'))
BEGIN
EXEC [Archive].[dbo].[sp_fulltext_database] @action = 'enable'
END
GO

3 - Activation de l'accès au FILESTREAM au niveau de la base de données
En mode script :

ALTER DATABASE [Archive] SET FILESTREAM (NON_TRANSACTED_ACCESS= FULL, DIRECTORY_NAME = N'FolderFT1' )

GO

4 - Création de la table qui va contenir les fichiers non structurés :

USE [Archive]
GO
CREATE TABLE DocumentStore1 AS FileTable
    WITH (FileTable_Directory = 'DocumentStore1',
          FileTable_Collate_Filename = database_default
         );
GO

5 - Manipulation des fichiers
A cette étape, vous pouvez parcourir le dossier 'DocumentStore1' en faisant un click-droit sur la table "DocumentStore1" et puis "Explorer le répertoire FileTable" ou en utilisant l'explorateur de fichiers via l'url suivante: \\NomduSeveur\NomPartageWindows\FolderFT1\DocumentStore1


Et en SQL via la requête suivante:


Référence : MSDN

Aucun commentaire:

Enregistrer un commentaire