推奨事項と SQL Server のファイル ストリームのパフォーマンスを向上させるためのガイドライン

適用対象: Microsoft SQL Server

概要


FILESTREAM の SQL Server 機能を使用すると、varbinary(max) のバイナリ ラージ オブジェクト データをファイル システムにファイルとして保存できます。 FILESTREAM コンテナーは、FILESTREAM 列と FileTables の両方の基盤となるストレージには、内の行の数が多い場合に多数のファイルを含むファイル システム ボリューム終了できます。 統合データベースとファイル ・ システムからデータを処理するときは、最高のパフォーマンスを実現するにすることが重要ファイル ・ システムが最適に調整されていることを確認します。 以下は、ファイル システムの観点から使用可能なチューニング オプションの一部です。
  • 高度は、SQL Server のファイル ストリーム フィルター ドライバー [rsfx0100.sys など] を確認します。 FILESTREAM 機能がファイルを格納するボリュームに関連付けられている記憶域スタックに読み込まれているすべてのフィルター ドライバーを評価し、rsfx ドライバーは、スタックの下部にあるかどうかを確認します。 FLTMC を使用することができます。特定のボリュームのフィルター ドライバーを列挙するために EXE 制御プログラムです。 FLTMC ユーティリティからの出力の例を次のとおりです: C:\Windows\System32 > fltMC.exe フィルター
    フィルター名 Num のインスタンス 高度 フレーム
    Sftredir 1 406000 0
    MpFilter 9 328000 0
    luafv 1 135000 0
    FileInfo 9 45000 0
    RsFx0103 1 41001.03 0
  • サーバーにファイルを無効になっている「最後のアクセス時刻」プロパティがあることを確認してください。 このファイル ・ システム属性は、レジストリに保存されます。 キーの名前: 探して 名: NtfsDisableLastAccessUpdate 型: REG_DWORD 値: 1
  • 8.3 名前付けが無効になっているサーバーにあることを確認してください。 このファイル ・ システム属性は、レジストリに保存されます。 キーの名前: 探して 名前: NtfsDisable8dot3NameCreation 型: REG_DWORD 値: 1
  • FILESTREAM ディレクトリ コンテナーがないことファイル システムの暗号化やファイル システムの圧縮が有効なレベルのオーバーヘッドを紹介これらには、これらのファイルにアクセスするときを確認します。
  • 、管理者特権のコマンド プロンプトからfltmc のインスタンスを実行し、復元しようとするボリュームにフィルター ドライバーが接続されていませんするかどうかを確認します。
  • FILESTREAM ディレクトリ コンテナーに 30万本以上のファイルがないことを確認してください。 Sys.database_files カタログ ビューからの情報を使用すると、ファイル ストリームに関連するファイルを格納するファイル システムのディレクトリを検索します。 複数のコンテナーのことで、これを防止できます。 (詳細については次の項目を参照してください)。
  • FILESTREAM ファイル グループが 1 つだけですべてのデータ ファイルは同じフォルダーの下に作成されます。 非常に多数のファイルのファイルの作成の大きい NTFS インデックスでは、断片化も影響を受ける可能性があります。
    • この作業に役立つ一般的に複数のファイル グループを持つ必要があります (アプリケーションのパーティション分割を使用して、または独自のファイル グループに複数のテーブル)。
    • SQL Server 2012 およびそれ以降のバージョンでは、複数の FILESTREAM ファイル グループでは、下にあるファイルまたはコンテナーを持つことができ、ラウンド ロビン割り当てスキームが適用されます。 したがって 1 つのディレクトリの NTFS ファイルの数が小さくなってしまいます。
  • バックアップと復元はより高速な複数の FILESTREAM コンテナーとコンテナーを格納する複数のボリュームを使用する場合なります。
    • SQL Server 2012 では、ファイル グループごとに複数のコンテナーをサポートしておりが取っても簡単に。 複雑なパーティション分割スキームは可能性がより多くのファイルを管理するために必要ありません。
  • NTFS MFT が断片化、およびパフォーマンスの問題が発生することができます。 予約された MFT のサイズが、するか、これは発生しませんが、ボリュームのサイズに依存します。
    • MFT の断片化をチェックすることができます/A をデフラグ/V c: ( c:が実際のボリューム名を変更) します。
    • Fsutil 動作 mftzone 2 の設定を使用して、多くの MFT 領域を予約できます。
    • FILESTREAM データ ファイルは、ウイルス対策ソフトウェアのスキャンから除外する必要があります。  

      注: Windows Server 2016 には、Windows Defender が自動的に有効にします。Filestreamファイルを除外するのには、Windows Defender が構成されていることを確認します。これを行うには、障害が発生は、バックアップのパフォーマンスが低下が発生し、操作を復元できます。

      詳細についてを参照してくださいの構成 Windows Defender のウイルス対策スキャンの除外項目を検証し、

詳細情報


FILESTREAM 機能の概要sp_filestream_force_garbage_collection (Transact SQL)Fltmc.exe の制御プログラムについての情報NtfsDisableLastAccessUpdateNtfsDisable8dot3NameCreation

推奨事項と SQL Server のファイル ストリームのパフォーマンスを向上させるためのガイドライン

次の表は、製品または SQL Server のインスタンスでは、ルールの評価対象となる SQL Server のバージョンでは、この条件を自動的にチェックするツールの詳細を提供します。
ルールのソフトウェアルールのタイトル仕訳ルールの説明ルールが評価される対象である製品バージョン
System Center Advisorファイル ・ システムの設定の変更から SQL Server の FILESTREAM 機能を得るSystem Center のアドバイザーは、SQL Server のインスタンスは、FILESTREAM 機能を使用するかどうかしているかどうか 2 つの関連するレジストリ キーの設定を設定するこの資料で説明するように決定します。 Advisor のアラートの「情報収集」セクションに記載されている情報を確認し、レジストリ キーに必要な変更を加えます。SQL Server の 2008SQL Server 2008 R2
SQL Server 2008 R2 ベスト プラクティス アナライザー (SQL Server 2008 R2 BPA)ファイル システムでは、ファイル ストリームのパフォーマンスを向上させるための調整が必要SQL Server 2008 R2 ベスト プラクティス アナライザー (SQL Server 2008 R2 BPA) は、ファイル ・ システム構成されていない最適な状態でファイル ストリームのパフォーマンスを向上させるための状況を検出するルールを提供します。 BPA ツールを実行する「エンジンのファイル ・ システムが必要チューニング FILESTREAM のパフォーマンスを向上させる」というタイトルが示す警告が発生した場合は、ファイル システムのパフォーマンスを向上させるには、この資料に記載されている推奨事項に従ってください。SQL Server の 2008SQL Server 2008 R2
SQL Server 2012 のベスト プラクティス アナライザー (SQL Server 2012 BPA)ファイル システムでは、ファイル ストリームのパフォーマンスを向上させるための調整が必要SQL Server 2012 ベスト プラクティス アナライザー (SQL Server 2012 BPA) は、ファイル ・ システム構成されていない最適な状態でファイル ストリームのパフォーマンスを向上させるための状況を検出するルールを提供します。 BPA ツールを実行する「エンジンのファイル ・ システムが必要チューニング FILESTREAM のパフォーマンスを向上させる」というタイトルが示す警告が発生した場合は、ファイル システムのパフォーマンスを向上させるには、この資料に記載されている推奨事項に従ってください。SQL Server 2012