FILESTREAM および FileTable と AlwaysOn 可用性グループ (SQLServer)
このトピックでは、SQL Server 2014 の Always On 可用性グループで FILESTREAM 機能と FileTable 機能を使用する方法について説明します。
すべての FILESTREAM 機能がサポートされています。 フェールオーバー後、FILESTREAM データは読み取り可能なセカンダリ レプリカと新しいプライマリの両方でアクセスできます。
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 データにアクセスできるようになります。 これは、Transact-SQL による FILESTREAM データへのアクセスには影響しません。 ただし、ファイル システム API を使用するアプリケーションは、次の形式のパスを持つ VNN スコープの共有を使用する必要があります。
\\<VNN>\<filestream_share_name>
この VNN スコープの共有は、次のいずれかのイベントが発生するときに作成されます。
プライマリ レプリカ上にある AlwaysOn 可用性グループに FILESTREAM データを格納するデータベースを追加します。 この場合、共有
\\<computer_name>\<filestream_share_name>
は既に存在します。 共有\\<VNN>\<filestream_share_name>
が作成されます。可用性グループが含まれるプライマリ レプリカ上で、ファイル I/O ストリーム アクセスに対して FILESTREAM を有効にします。 次の共有が作成されます。
\\<computer_name>\<filestream_share_name>
\\<VNN1>\<filestream_share_name>
(可用性グループ 1 向け)。\\<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 スコープのパスの動作が停止するため、この使用法はお勧めしません。
Related Tasks
関連コンテンツ
[なし] :