FILESTREAM が有効なデータベースを作成する方法

適用対象:SQL Server

このトピックでは、FILESTREAM をサポートするデータベースを作成する方法について説明します。 FILESTREAM は特殊なファイル グループを使用するので、データベースの作成時に少なくとも 1 つのファイル グループに対して CONTAINS FILESTREAM 句を指定する必要があります。

FILESTREAM ファイル グループに、2 つ以上のファイルを含められます。 複数のファイルを含む FILESTREAM ファイル グループの作成方法を示すコード例については、「CREATE DATABASE (SQL Server Transact-SQL)」を参照してください。

FILESTREAM が有効なデータベースを作成するには

  1. SQL Server Management Studio で [新しいクエリ] をクリックして、クエリ エディターを表示します。

  2. 次の例からクエリ エディターに Transact-SQL コードをコピーします。 この Transact-SQL コードによって、アーカイブと呼ばれる FILESTREAM が有効なデータベースが作成されます。

    注意

    このスクリプトでは、ディレクトリ C:\Data が存在している必要があります。

  3. データベースを構築するには、 [実行]をクリックします。

次のコード例では、 Archiveという名前のデータベースを作成します。 このデータベースは、 PRIMARYArch1FileStreamGroup1という 3 つのファイル グループを含んでいます。 PRIMARYArch1 は、FILESTREAM データを含むことのできない通常のファイル グループです。 FileStreamGroup1 は、 FILESTREAM ファイル グループです。

CREATE DATABASE Archive 
ON
PRIMARY ( NAME = Arch1,
    FILENAME = 'C:\data\archdat1.mdf'),
FILEGROUP FileStreamGroup1 CONTAINS FILESTREAM ( NAME = Arch3,
    FILENAME = 'C:\data\filestream1')
LOG ON  ( NAME = Archlog1,
    FILENAME = 'C:\data\archlog1.ldf')
GO

FILESTREAM ファイル グループに対しては、 FILENAME がパスを参照します。 最後のフォルダーまでのパスが存在する必要がありますが、最後のフォルダーは存在できません。 この例では、 c:\data が存在する必要があります。 ただし、 filestream1 ステートメントを実行するときに CREATE DATABASE サブフォルダーが存在してはいけません。 構文の詳細については、「CREATE DATABASE (SQL Server Transact-SQL)」を参照してください。

上の例を実行すると、c:\Data\filestream1 フォルダーに filestream.hdr ファイルと $FSLOG フォルダーが作成されます。 filestream.hdr ファイルは、FILESTREAM コンテナーのヘッダー ファイルです。

重要

filestream.hdr ファイルは、重要なシステム ファイルです。 このファイルには、FILESTREAM ヘッダー情報が含まれています。 このファイルを削除したり変更したりしないでください。

既存のデータベースに対しては、 ALTER DATABASE ステートメントを使用して FILESTREAM ファイル グループを追加できます。

参照

CREATE DATABASE (SQL Server Transact-SQL)
ALTER DATABASE (Transact-SQL)