インメモリ OLTP データベースにおける高可用性のサポート
メモリ最適化テーブルを含んだデータベースは、ネイティブ コンパイル ストアド プロシージャの有無に関係なく、AlwaysOn 可用性グループで完全にサポートされます。 In-Memory OLTP オブジェクトを含むデータベースの構成とサポートに違いはありません。
AlwaysOn 可用性グループとインメモリ OLTP データベース
In-Memory OLTP コンポーネントを使用してデータベースを構成すると、次の機能が提供されます。
完全に統合された環境
メモリ最適化テーブルを含んだデータベースは、同期と非同期のどちらのセカンダリ レプリカに対しても同じウィザードを使用して構成でき、同じサポート レベルが適用されます。 加えて、使い慣れた SQL Server Management Studio の AlwaysOn ダッシュボードを使用して、正常性の監視を行うことができます。同等のフェールオーバー時間
持続性のあるメモリ最適化テーブルのインメモリ状態がセカンダリ レプリカで維持されます。 自動フェールオーバーまたは強制フェールオーバーが発生した場合に復旧の必要がないため、新しいプライマリへのフェールオーバーにかかる時間はディスク ベースのテーブルと変わりありません。 この構成では、SCHEMA_ONLY として作成されたメモリ最適化テーブルがサポートされます。 ただしそれらのテーブルに対する変更はログに記録されないため、セカンダリ レプリカ上の該当テーブルにはデータが不在となります。[読み取り可能セカンダリ]
セカンダリ レプリカが読み取りアクセス用に構成されている場合、セカンダリ レプリカ上のメモリ最適化テーブルにアクセスしてクエリを実行することができます。 詳細については、「アクティブなセカンダリ: 読み取り可能なセカンダリ レプリカ (AlwaysOn 可用性グループ)」を参照してください。
フェールオーバー クラスタリング インスタンス (FCI) とインメモリ OLTP データベース
共有記憶域構成で高可用性を実現するには、メモリ最適化テーブルを含んだデータベースと複数のインスタンスに対してフェールオーバー クラスタリングを設定します。 FCI を設定する際、次の要素を考慮する必要があります。
目標復旧時間
フェールオーバーの所要時間は長くなる可能性があります。データベースを使用可能な状態にするためには、メモリ最適化テーブルをメモリに読み込む必要があるためです。SCHEMA_ONLY テーブル
フェールオーバー後、SCHEMA_ONLY テーブルは、データ行の存在しない空の状態になるので注意してください。 これは仕様であり、アプリケーションで定義された動作です。 1 つ以上の SCHEMA_ONLY テーブルを含む インメモリ OLTP データベースを再起動したときもまったく同じ動作となります。
インメモリ OLTP におけるトランザクション レプリケーションのサポート
トランザクション レプリケーションのサブスクライバーとして機能するテーブルは、ピア ツー ピア トランザクション レプリケーションを除き、メモリ最適化テーブルとして構成できます。 その他のレプリケーション構成はメモリ最適化テーブルとは互換性がありません。 詳細については、「 メモリ最適化テーブル サブスクライバーへのレプリケーション」を参照してください。
参照
AlwaysOn 可用性グループ (SQL Server)
AlwaysOn 可用性グループの概要 (SQL Server)
アクティブなセカンダリ:読み取り可能なセカンダリ レプリカ (AlwaysOn 可用性グループ)
メモリ最適化テーブル サブスクライバーへのレプリケーション