FILESTREAM および FileTable と AlwaysOn 可用性グループ (SQLServer)
このトピックでは、SQL Server 2012 で AlwaysOn 可用性グループ と FILESTREAM 機能および FileTable 機能を使用する方法について説明します。
すべての FILESTREAM 機能がサポートされています。 フェールオーバー後、FILESTREAM データは読み取り可能なセカンダリ レプリカと新しいプライマリの両方でアクセスできます。
FileTable 機能は部分的にサポートされています。 フェールオーバー後、FileTable データはプライマリ レプリカ上でアクセスできますが、読み取り可能なセカンダリ レプリカ上ではアクセスできません。
このトピックの内容
前提条件
FILESTREAM および FileTable アクセスでの仮想ネットワーク名 (VNN) の使用
関連タスク
関連コンテンツ
前提条件
- FileTable を使用するかどうかにかかわらず、FILESTREAM を使用するデータベースを可用性グループに追加する前に、その可用性グループの可用性レプリカをホストするすべてのサーバー インスタンスで FILESTREAM が有効になっていることを確認してください。 詳細については、「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 を使用する必要があります。 詳細については、「FILESTREAM および FileTable と AlwaysOn 可用性グループ (SQLServer)」を参照してください。
データベースが可用性グループの一部である場合、アプリケーションで \\<computer_name>\<filestream_share_name> の形式のコンピューター名を使用して共有にアクセスしようとすると、エラーが発生します。
データベースが可用性グループの一部ではない場合、アプリケーションで VNN スコープのパスを使用して共有にアクセスしようとすると、要求が正常に終了します。 この場合、仮想ネットワーク名は、コンピューター名に解決されます。 ただし、可用性グループが削除されると VNN スコープのパスの動作が停止するため、この使用法はお勧めしません。
関連タスク
[先頭に戻る]
関連コンテンツ
なし。