次の方法で共有


AlwaysOn 可用性グループを使用した FILESTREAM および FileTable (SQL Server)

このトピックでは、SQL Server 2014 での FILESTREAM 機能と FileTable 機能と Always On 可用性グループの使用方法について説明します。

すべての FILESTREAM 機能がサポートされています。 フェールオーバー後、FILESTREAM データは読み取り可能なセカンダリ レプリカと新しいプライマリの両方でアクセスできます。

FileTable 機能は部分的にサポートされています。 フェールオーバー後は、プライマリ レプリカで FileTable データにアクセスできますが、読み取り可能なセカンダリ レプリカでは FileTable データにアクセスできません。

このトピックでは:

[前提条件]

  • FileTable を使用するかどうかにかかわらず、FILESTREAM を使用するデータベースを可用性グループに追加する前に、その可用性グループの可用性レプリカをホストするすべてのサーバー インスタンスで FILESTREAM が有効になっていることを確認してください。 詳細については、「 Enable and Configure FILESTREAM」をご覧ください。

FILESTREAM および FileTable アクセスに仮想ネットワーク名 (VNN) を使用する

SQL Serverのインスタンスで FILESTREAM を有効にすると、インスタンス レベルでの共有が作成され、FILESTREAM データにアクセスできるようになります。 この共有にアクセスするには、次の形式でコンピューター名を使用します。

\\<computer_name>\<filestream_share_name>

ただし、AlwaysOn 可用性グループでは、コンピューターの名前は仮想ネットワーク名 (VNN) を使用して仮想化されます。 コンピューターが可用性グループのプライマリ レプリカであり、可用性グループ内のデータベースに FILESTREAM データが格納されている場合、VNN スコープの共有も作成され、FILESTREAM データにアクセスできるようになります。 これは、FILESTREAM データへの Transact-SQL アクセスには影響しません。 ただし、ファイル システム API を使用するアプリケーションは、次の形式のパスを持つ VNN スコープの共有を使用する必要があります。

\\<VNN>\<filestream_share_name>

この VNN スコープの共有は、次のいずれかのイベントが発生するときに作成されます。

  • FILESTREAM データを含むデータベースをプライマリ レプリカの AlwaysOn 可用性グループに追加します。 この場合、共有 \\<computer_name>\<filestream_share_name> は既に存在します。 共有 \\<VNN>\<filestream_share_name> が作成されます。

  • 可用性グループが含まれるプライマリ レプリカ上で、ファイル I/O ストリーム アクセスに対して FILESTREAM を有効にします。 次の共有が作成されます。

    1. \\<computer_name>\<filestream_share_name>

    2. \\<VNN1>\<filestream_share_name> (可用性グループ 1 向け)。

    3. \\<VNN2>\<filestream_share_name> (可用性グループ 2 向け)。

これらの VNN スコープの共有は、すべてのセカンダリ レプリカにも反映されます。

FILESTREAM または FileTable データを含むデータベースが AlwaysOn 可用性グループに属している場合:

  • FILESTREAM および FileTable 関数は、コンピューター名ではなく仮想ネットワーク名 (VNN) のやり取りを行います。 これらの関数の詳細については、「 Filestream 関数と FileTable 関数 (Transact-SQL)」を参照してください。

  • ファイル システム API を介した FILESTREAM または FileTable データへのすべてのアクセスでは、コンピューター名ではなく VNN を使用する必要があります。

データベースが可用性グループの一部である場合、アプリケーションで \\<computer_name>\<filestream_share_name> の形式のコンピューター名を使用して共有にアクセスしようとすると、エラーが発生します。

データベースが可用性グループに含まれていないときに、VNN スコープのパスを使用してアプリケーションが共有にアクセスしようとすると、要求が成功する可能性があります。 この場合、仮想ネットワーク名は、コンピューター名に解決されます。 ただし、可用性グループが削除されると、VNN スコープのパスが機能しなくなるため、この使用は強くお勧めしません。

関連タスク

関連コンテンツ

なし。

こちらもご覧ください

AlwaysOn 可用性グループの概要 (SQL Server)