FILESTREAM の有効化と構成
FILESTREAM の使用を開始するには、 SQL Server データベース エンジンのインスタンスで FILESTREAM を有効にする必要があります。 このトピックでは、SQL Server 構成マネージャーを使用して FILESTREAM を有効にする方法について説明します。
Note
64 ビット オペレーティング システムで実行されている 32 ビット バージョンのSQL Serverで FILESTREAM を有効にすることはできません。
FILESTREAM の有効化
FILESTREAM の設定の有効化と変更
[スタート] メニューの [すべてのプログラム] をポイントし、[SQL Server 2014] をポイントし、[構成ツール] をポイントして、[SQL Server 構成マネージャー] をクリックします。
サービスの一覧で、 [SQL Server のサービス] を右クリックし、 [開く] をクリックします。
[SQL Server 構成マネージャー] スナップインで、FILESTREAM を有効にする SQL Server のインスタンスを探します。
インスタンスを右クリックし、 [プロパティ] をクリックします。
[SQL Server のプロパティ] ダイアログ ボックスで、 [FILESTREAM] タブをクリックします。
[Transact-SQL アクセスに対して FILESTREAM を有効にする] チェック ボックスをオンにします。
Windows から FILESTREAM データの読み取りと書き込みを行う場合は、 [ファイル I/O ストリーム アクセスに対して FILESTREAM を有効にする] をクリックします。 Windows 共有の名前を [Windows 共有名] ボックスに入力します。
この共有に格納された FILESTREAM データにリモート クライアントからアクセスする必要がある場合は、 [リモート クライアントに FILESTREAM データへのストリーム アクセスを許可する] を選択します。
[Apply] をクリックします。
SQL Server Management Studioで、 [新しいクエリ] をクリックしてクエリ エディターを表示します。
クエリ エディターで、次の Transact-SQL コードを入力します。
EXEC sp_configure filestream_access_level, 2 RECONFIGURE
[実行] をクリックします。
SQL Server サービスを再開します。
推奨する運用方法
物理的な構成と保守
FILESTREAM ストレージ ボリュームを設定する場合は、次のガイドラインを考慮してください。
FILESTREAM コンピューター システム上で短いファイル名を無効にします。 短いファイル名の作成には、長い時間がかかります。 短いファイル名を無効にするには、Windows fsutil ユーティリティを使用します。
FILESTREAM コンピューター システムを定期的に最適化します。
64 KB の NTFS クラスターを使用します。 圧縮されたボリュームは、4 KB の NTFS クラスターに設定する必要があります。
FILESTREAM ボリューム上のインデックスの作成を無効にし、 disablelastaccess を設定します。 disablelastaccessを設定するには、Windows fsutil ユーティリティを使用します。
必要でない場合は、FILESTREAM ボリューム上でのウイルス スキャンを無効にします。 ウイルス スキャンが必要な場合は、問題のあるファイルを自動的に削除するポリシーを設定しないようにします。
RAID レベルを設定および調整して、フォールト トレランスとアプリケーションで求められるパフォーマンスを実現します。
RAID レベル | 書き込みパフォーマンス | 読み取りパフォーマンス | フォールト トレランス | 解説 |
RAID 5 | Normal | Normal | [非常に良い] | パフォーマンスは、1 台のディスクまたは JBOD よりも高く、RAID 0 またはストライピング機能を備えた RAID 5 よりも低くなります。 |
RAID 0 | [非常に良い] | [非常に良い] | なし | |
RAID 5 + ストライピング | [非常に良い] | [非常に良い] | [非常に良い] | 最も高価なオプションです。 |
物理的なデータベース設計
FILESTREAM データベースを設計するときは、次のガイドラインを考慮してください。
FILESTREAM 列には、対応する
uniqueidentifier
ROWGUID 列を添付する必要があります。 また、この種のテーブルには、一意なインデックスが存在する必要があります。 通常、このインデックスは、クラスター化インデックスではありません。 データベースのビジネス ロジックでクラスター化インデックスが求められる場合は、インデックスに格納されている値がランダムでないことを確認する必要があります。 格納されている値がランダムである場合、テーブルの行が追加または削除されるたびにインデックスの並べ替えが発生します。パフォーマンス上の理由から、FILESTREAM ファイル グループおよびコンテナーは、オペレーティング システム、 SQL Server データベース、 SQL Server ログ、tempdb、ページング ファイル以外のボリュームに配置する必要があります。
領域管理とポリシーは、FILESTREAM では直接サポートされません。 ただし、それぞれの FILESTREAM ファイル グループを別個のボリュームに割り当て、ボリュームの管理機能を使用することで、領域の管理とポリシーの適用を行うことができます。