インメモリ 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 可用性グループ)
メモリ最適化テーブル サブスクライバーへのレプリケーション