[SQL Server] 2012 FILETABLEを少し試してみる

SQL Server 2012のFILETABLEを少し試してみました時の備忘録です。

まず、FILETABLEって?ですが、実は私もほとんど判ってません^^;
ですので、試してみようってことです。。。あしからず^^;;

で、基本的にどんな機能かというと、
SQL Server 2008からのFILESTREAM機能を利用して、ファイルシステムの
ファイルをDATABASEに保存するものです。

うーん・・・という感じですが、使用局面は、
ファイルサーバに共有ファイルをおいておきた場合、古いファイルが整理もつかずに
どんどん溜まっていきませんか?
そんな時、DB内にファイルが置いてあると、ファイル作成日、最終更新日、最終アクセス日
を条件に不要と思われるファイルを(バックアップをして)削除したり、他の場所に移動したり
通常のデータのように管理ができます。
ファイルシステム管理のバッチやスクリプトで同じ事をするよりも、簡単に管理ができるか
なってとこが考えられます。
その他、きっといろいろなメリットが有る?と思います^^;;
まだこれから試すので・・・詳しくは・・・

それから、ファイルの保存はプログラムからでもWindows操作(ドラッグ&ドロップ)でも
どちらでも可能です。試してませんが。。。
ディレクトリは、\\サーバ名\Windows共有名\ディレクトリ名でネットワークディレクトリの
ように表示されますが、直接編集とかはできません。一度、どこかにコピーしてそこから
編集する操作に成ります。編集後の保存は元のディレクトリに戻してあげます。

FILETABLEを使用するためには幾つかの手順を踏む必要があります。
[SQL Server] 2012 FILETABLEを使うためにFILESTREAMの有効化

[SQL Server] 2012 データベース レベルでの FILESTREAM ファイル グループの指定

を参考にしてください。

その後、下の様な作成SQLを流せば、準備完了です。
USE TEST
GO

CREATE TABLE FileTable01 AS FILETABLE
WITH
(
FILETABLE_DIRECTORY = ‘DocumentTable’,
FILETABLE_COLLATE_FILENAME = database_default
)
GO

CREATE TABLE FileTable02 AS FILETABLE
WITH
(
FILETABLE_DIRECTORY = ‘開発DOC’,
FILETABLE_COLLATE_FILENAME = database_default
)
GO

ちなみに、作成したテーブルを[SQL Server Management Studio]で右クリックして
[FileTabelディレクトリの検索]をクリックすると、作成したFILETABLEのディレクトリが
開き、ファイルの一覧が表示されます。削除などもできます。

とりあえず、ここまで。。。。