FILESTREAM の有効化と構成Enable and configure FILESTREAM

適用対象: ○SQL Server XAzure SQL Database XAzure SQL Data Warehouse XParallel Data WarehouseAPPLIES TO: yesSQL Server noAzure SQL Database noAzure SQL Data Warehouse noParallel Data Warehouse

FILESTREAM の使用を開始するには、 SQL Server データベース エンジンSQL Server Database Engineのインスタンスで FILESTREAM を有効にする必要があります。Before you can start to use FILESTREAM, you must enable FILESTREAM on the instance of the SQL Server データベース エンジンSQL Server Database Engine. このトピックでは、SQL Server 構成マネージャーを使用して FILESTREAM を有効にする方法について説明します。This topic describes how to enable FILESTREAM by using SQL Server Configuration Manager.

FILESTREAM の有効化Enabling FILESTREAM

FILESTREAM の設定の有効化と変更To enable and change FILESTREAM settings

  1. [スタート] メニューで、 [すべてのプログラム]、[ SQL Server 2017SQL Server 2017]、 [構成ツール] の順にポイントして、 [SQL Server 構成マネージャー] をクリックします。On the Start menu, point to All Programs, point to SQL Server 2017SQL Server 2017, point to Configuration Tools, and then click SQL Server Configuration Manager.

  2. サービスの一覧で、 [SQL Server のサービス] を右クリックし、 [開く] をクリックします。In the list of services, right-click SQL Server Services, and then click Open.

  3. [SQL Server 構成マネージャー] スナップインで、FILESTREAM を有効にする SQL ServerSQL Server のインスタンスを探します。In the SQL Server Configuration Manager snap-in, locate the instance of SQL ServerSQL Server on which you want to enable FILESTREAM.

  4. インスタンスを右クリックし、 [プロパティ] をクリックします。Right-click the instance, and then click Properties.

  5. [SQL Server のプロパティ] ダイアログ ボックスで、 [FILESTREAM] タブをクリックします。In the SQL Server Properties dialog box, click the FILESTREAM tab.

  6. [Transact-SQL アクセスに対して FILESTREAM を有効にする] チェック ボックスをオンにします。Select the Enable FILESTREAM for Transact-SQL access check box.

  7. Windows から FILESTREAM データの読み取りと書き込みを行う場合は、 [ファイル I/O ストリーム アクセスに対して FILESTREAM を有効にする] をクリックします。If you want to read and write FILESTREAM data from Windows, click Enable FILESTREAM for file I/O streaming access. Windows 共有の名前を [Windows 共有名] ボックスに入力します。Enter the name of the Windows share in the Windows Share Name box.

  8. この共有に格納された FILESTREAM データにリモート クライアントからアクセスする必要がある場合は、 [リモート クライアントに FILESTREAM データへのストリーム アクセスを許可する] を選択します。If remote clients must access the FILESTREAM data that is stored on this share, select Allow remote clients to have streaming access to FILESTREAM data.

  9. [適用] をクリックします。Click Apply.

  10. [SQL Server Management Studio]SQL Server Management Studioで、 [新しいクエリ] をクリックしてクエリ エディターを表示します。In [SQL Server Management Studio]SQL Server Management Studio, click New Query to display the Query Editor.

  11. クエリ エディターで、次の Transact-SQLTransact-SQL コードを入力します。In Query Editor, enter the following Transact-SQLTransact-SQL code:

    EXEC sp_configure filestream_access_level, 2  
    RECONFIGURE  
    
  12. [実行] をクリックします。Click Execute.

  13. SQL ServerSQL Server サービスを再開します。Restart the SQL ServerSQL Server service.

ベスト プラクティスBest practices

物理的な構成と保守Physical configuration and maintenance

FILESTREAM ストレージ ボリュームを設定する場合は、次のガイドラインを考慮してください。When you set up FILESTREAM storage volumes, consider the following guidelines:

  • FILESTREAM コンピューター システム上で短いファイル名を無効にします。Turn off short file names on FILESTREAM computer systems. 短いファイル名の作成には、長い時間がかかります。Short file names take significantly longer to create. 短いファイル名を無効にするには、Windows fsutil ユーティリティを使用します。To disable short file names, use the Windows fsutil utility.

  • FILESTREAM コンピューター システムを定期的に最適化します。Regularly defragment FILESTREAM computer systems.

  • 64 KB の NTFS クラスターを使用します。Use 64-KB NTFS clusters. 圧縮されたボリュームは、4 KB の NTFS クラスターに設定する必要があります。Compressed volumes must be set to 4-KB NTFS clusters.

  • FILESTREAM ボリューム上のインデックスの作成を無効にし、disablelastaccess を設定します。Disable indexing on FILESTREAM volumes and set disablelastaccess. disablelastaccess を設定するには、Windows fsutil ユーティリティを使用します。To set disablelastaccess, use the Windows fsutil utility.

  • 必要でない場合は、FILESTREAM ボリューム上でのウイルス スキャンを無効にします。Disable antivirus scanning of FILESTREAM volumes when it is not necessary. ウイルス スキャンが必要な場合は、問題のあるファイルを自動的に削除するポリシーを設定しないようにします。If antivirus scanning is necessary, avoid setting policies that will automatically delete offending files.

  • RAID レベルを設定および調整して、フォールト トレランスとアプリケーションで求められるパフォーマンスを実現します。Set up and tune the RAID level for fault tolerance and the performance that is required by an application.

RAID レベルRAID level 書き込みパフォーマンスWrite performance 読み取りパフォーマンスRead performance フォールト トレランスFault tolerance RemarksRemarks
RAID 5RAID 5 標準Normal 標準Normal [非常に良い]Excellent パフォーマンスは、1 台のディスクまたは JBOD よりも高く、RAID 0 またはストライピング機能を備えた RAID 5 よりも低くなります。Performance is better than one disk or JBOD; and less than RAID 0 or RAID 5 with striping.
RAID 0RAID 0 [非常に良い]Excellent [非常に良い]Excellent なしNone
RAID 5 + ストライピングRAID 5 + stripping [非常に良い]Excellent [非常に良い]Excellent [非常に良い]Excellent 最も高価なオプションです。Most expensive option.

物理的なデータベース設計Physical database design

FILESTREAM データベースを設計するときは、次のガイドラインを考慮してください。When you design a FILESTREAM database, consider the following guidelines:

  • FILESTREAM 列には対応する uniqueidentifierROWGUID 列が存在する必要があります。FILESTREAM columns must be accompanied by a corresponding uniqueidentifierROWGUID column. また、この種のテーブルには、一意なインデックスが存在する必要があります。These kinds of tables must also be accompanied by a unique index. 通常、このインデックスは、クラスター化インデックスではありません。Typically this index is not a clustered index. データベースのビジネス ロジックでクラスター化インデックスが求められる場合は、インデックスに格納されている値がランダムでないことを確認する必要があります。If the databases business logic requires a clustered index, you have to make sure that the values stored in the index are not random. 格納されている値がランダムである場合、テーブルの行が追加または削除されるたびにインデックスの並べ替えが発生します。Random values will cause the index to be reordered every time that a row is added or removed from the table.

  • パフォーマンス上の理由から、FILESTREAM ファイル グループおよびコンテナーは、オペレーティング システム、 SQL ServerSQL Server データベース、 SQL ServerSQL Server ログ、tempdb、ページング ファイル以外のボリュームに配置する必要があります。For performance reasons, FILESTREAM filegroups and containers should reside on volumes other than the operating system, SQL ServerSQL Server database, SQL ServerSQL Server log, tempdb, or paging file.

  • 領域管理とポリシーは、FILESTREAM では直接サポートされません。Space management and policies are not directly supported by FILESTREAM. ただし、それぞれの FILESTREAM ファイル グループを別個のボリュームに割り当て、ボリュームの管理機能を使用することで、領域の管理とポリシーの適用を行うことができます。However, you can manage space and apply policies indirectly by assigning each FILESTREAM filegroup to a separate volume and using the volume's management features.