SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

進化したSQL Server 2012の新機能紹介

SQL Server開発の利便性を向上させるFileTable/シーケンスオブジェクト/ページング機能

進化したSQL Server 2012の新機能紹介(4)

FileTableにエクスプローラでアクセスする

 作成したFileTableにエクスプローラで接続するには、オブジェクトエクスプローラから先ほど作成したFileTableを右クリックし、コンテキストメニューから[FileTableディレクトリの探索]を選択します(図9)。

図9:FileTableディレクトリの探索を選択する
図9:FileTableディレクトリの探索を選択する

 図10のようにエクスプローラが表示されます。アクセスアドレスは[\\<ホスト名>\<FileStreameのWindows共有名(図2参照)>\<FILESTREAMディレクトリ名>\FileTable名]になります。

図10:エクスプローラからFileTablesへのアクセス
図10:エクスプローラからFileTablesへのアクセス

 エクスプローラ上で、新しいテキストファイルや新しいディレクトリを作成します(図11)。

図11:FileTableにファイルの追加
図11:FileTableにファイルの追加

 作成したファイルやディレクトリは[リスト2]のようなクエリを実行すると確認できます。GetFileNamespacePath関数を使用してFileTableのディレクトリやデータのUNCパスを取得しています。FileTableを参照すると、一意に識別する(NEWID()で生成された)ID、ファイル種別、ファイルやディレクトリ名、サイズ、登録・更新日付などを取得できます。

[リスト2]FileTableを参照するスクリプト
SELECT 
    file_stream.GetFileNamespacePath(), 
    * 
FROM 
    dbo.FileTable1

 図12は、リスト2のクエリを実行した結果です。

図12:FileTableの情報を取得した結果
図12:FileTableの情報を取得した結果

【コラム】FileTable対応のために追加されたデータベースオブジェクト

 FileTable用の関数やビューストアドプロシージャ―が追加されており、次の表はFileTableに関わるDBオブジェクト一覧です。


表1 FileTableに関わるデータベースオブジェクト
種類 名前 概要
関数 FileTableRootPath 任意のFileTableまたは現在のデータベースのルートレベルのUNCパス(「\\」で始まるディレクトリパス。例:\\SERVER\SQLSERVER\FILETABLE)を取得
関数 GetFileNamespacePath FileTable内のファイルやディレクトリのUNCパスを取得
関数 GetPathLocator FileTable内の指定したファイルやディレクトリのパスロケーターID(FileTable内での管理識別子)を取得
カタログビュー sys.database_filestream_options FileTable内のFILESTREAMデータに対するT-SQL以外からのセキュリティ設定情報の一覧
カタログビュー sys.filetable_system_defined_objects FileTableに関連するデータベースオブジェクト一覧のオブジェクトID
カタログビュー sys.filetables 各FileTableのルートディレクトリや設定されている照合順序一覧
カタログビュー sys.tables is_filetable列が追加されており、FileTableの場合、値が1になる
動的管理ビュー sys.dm_filestream_non_transacted_handles T-SQL以外から接続しているファイル一覧
ストアドプロシージャ sp_filestream_force_garbage_collection FileStreamガベージコレクターを強制実行し、削除済みファイルをクリーンアップし削除
ストアドプロシージャ sp_kill_filestream_non_transacted_handles T-SQL以外からの接続を強制切断するために使用

次のページ
テーブルから独立した採番用オブジェクトがついに登場

この記事は参考になりましたか?

進化したSQL Server 2012の新機能紹介連載記事一覧

もっと読む

この記事の著者

山田 祥寛(ヤマダ ヨシヒロ)

静岡県榛原町生まれ。一橋大学経済学部卒業後、NECにてシステム企画業務に携わるが、2003年4月に念願かなってフリーライターに転身。Microsoft MVP for Visual Studio and Development Technologies。執筆コミュニティ「WINGSプロジェクト」代表。主な著書に「独習シリーズ(Java・C#・Python・PHP・Ruby・JSP&サーブレットなど)」「速習シリーズ(ASP.NET Core・Vue.js・React・TypeScript・ECMAScript、Laravelなど)」「改訂3版JavaScript本格入門」「これからはじめるLaravel実践入門」「はじめてのAndroidアプリ開発 Kotlin編 」他、著書多数

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

WINGSプロジェクト 大和屋 貴仁(ヤマトヤ タカヒト)

WINGSプロジェクトについて>有限会社 WINGSプロジェクトが運営する、テクニカル執筆コミュニティ(代表 山田祥寛)。主にWeb開発分野の書籍/記事執筆、翻訳、講演等を幅広く手がける。 2026年時点での登録メンバは約50名で、現在も執筆メンバを募集中。興味のある方は、どしどし応募頂きたい。著書記事多数。 RSS X: @WingsPro_info(公式)、@WingsPro_info/wings(メンバーリスト) Facebook

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

この記事は参考になりましたか?

この記事をシェア

CodeZine(コードジン)
https://codezine.jp/article/detail/6602 2012/06/14 14:00

おすすめ

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー