Always On 可用性グループ: 高可用性とディザスター リカバリーのソリューション

適用対象: はいSQL Server (サポートされているすべてのバージョン)

Always On 可用性グループ 機能は、データベース ミラーリングに代わる、高可用性と災害復旧のためのエンタープライズ レベルのソリューションです。 SQL Server 2012 (11.x)で導入された Always On 可用性グループ により、エンタープライズのユーザー データベースの可用性が最大限に高まります。 可用性グループ は、 可用性データベース として知られる、ひとまとまりでフェールオーバーされる個別のユーザー データベースのセットのためのフェールオーバー環境をサポートします。 可用性グループは、読み取り/書き込みプライマリ データベースのセットをサポートし、1 ~ 8 セットの対応するセカンダリ データベースをサポートします。 必要に応じて、セカンダリ データベースで読み取り専用アクセスまたはいくつかのバックアップ操作を利用できます。

可用性グループは、可用性レプリカのレベルでフェールオーバーします。 データベースの問題 (たとえば、データ ファイルの損失、データベースの削除、トランザクション ログの破損による障害が疑われる場合など) が発生してもフェールオーバーは行われません。

注意

Always On 可用性グループは、この可用性機能の完全な正式名称です。 省略形は、AOAG または AAG ではなく、AG です。

利点

Always On 可用性グループ には、データベースの可用性を向上し、リソースの使用を改善できる、豊富なオプションのセットが用意されています。 主なコンポーネントは次のとおりです。

  • 最大 9 つの可用性レプリカをサポートします。 可用性グループ は、SQL Server の特定のインスタンスによってホストされ、可用性グループに属する各可用性データベースのローカル コピーを保持します。 各可用性グループは、1 個のプライマリ レプリカと最大 8 個のセカンダリ レプリカをサポートします。 詳細については、「 Always On 可用性グループの概要 (SQL Server)」を参照してください。

    重要

    各可用性レプリカは、単一の Windows Server フェールオーバー クラスタリング (WSFC) クラスターの異なるノード上に存在する必要があります。 可用性グループの前提条件、制限事項、推奨事項の詳細については、「 Always On 可用性グループの前提条件、制限事項、および推奨事項 (SQL Server)」を参照してください。

  • 次の選択可能な可用性モードをサポートします。

    • 非同期コミット モード。 この可用性モードは、距離を隔てて可用性レプリカが分散されている場合に効果的な災害復旧ソリューションです。

    • 同期コミット モード。 この可用性モードは、パフォーマンスよりも高可用性とデータ保護が重視され、トランザクションの遅延が増加するのが欠点です。 1 つの可用性グループで、現在のプライマリ レプリカを含む、最大 5 つの同期コミット可用性レプリカをサポートできます。

    詳細については、「可用性モード (Always On 可用性グループ)」を参照してください。

    SQL Server 2019 (15.x) では 3 つであった同期レプリカの最大数が、SQL Server 2017 (14.x) では 5 つに増加します。 この 5 つのレプリカのグループを、グループ内で自動フェールオーバーするように構成できます。 1 つのプライマリ レプリカと、4 つの同期セカンダリ レプリカがあります。

  • 自動フェールオーバー、計画的な手動フェールオーバー (通常は単に "手動フェールオーバー" と呼ばれます)、および強制手動フェールオーバー (通常は単に "強制フェールオーバー" と呼ばれます) の複数の形式の可用性グループ フェールオーバーをサポートします。 詳細については、「 フェールオーバーとフェールオーバー モード (AlwaysOn 可用性グループ)、または PowerShell を使用して、AlwaysOn 可用性グループ上で計画的な手動フェールオーバーまたは強制手動フェールオーバー (強制フェールオーバー) を実行する方法について説明します。

  • 次のアクティブ セカンダリ機能の一方または両方をサポートするように指定された可用性レプリカを構成できます。

    アクティブ セカンダリ機能を使用して、セカンダリ ハードウェアのリソース使用効率を高めることで、IT の効率性を改善し、コストを低減できます。 また、読み取りを目的としたアプリケーションやバックアップ ジョブをセカンダリ レプリカへとオフロードすることで、プライマリ レプリカのパフォーマンスを改善できます。

  • 可用性グループごとに 1 つの可用性グループ リスナーをサポートします。 可用性グループ リスナー は、Always On 可用性グループのプライマリ レプリカまたはセカンダリ レプリカ内のデータベースにアクセスするためにクライアントが接続できるサーバー名です。 可用性グループ リスナーは、プライマリ レプリカまたは読み取り専用セカンダリ レプリカに着信接続をダイレクトします。 リスナーは、可用性グループがフェールオーバーした後のアプリケーション フェールオーバーを高速化します。 詳細については、「 可用性グループ リスナー、クライアント接続、およびアプリケーションのフェールオーバー (SQL Server)での 1 つ以上の可用性グループの構成と管理において重要です。

  • 可用性グループのフェールオーバーを細かく制御する柔軟なフェールオーバー ポリシーをサポートします。 詳細については、「 フェールオーバーとフェールオーバー モード (AlwaysOn 可用性グループ)、または PowerShell を使用して、AlwaysOn 可用性グループ上で計画的な手動フェールオーバーまたは強制手動フェールオーバー (強制フェールオーバー) を実行する方法について説明します。

  • ページ破損に対する保護機能を提供する自動ページ修復をサポートします。 詳細については、このトピックの「 ページの自動修復 (可用性グループ: データベース ミラーリング)」を参照してください。

  • 安全性とパフォーマンスに優れたトランスポートを実現する、暗号化機能と圧縮機能をサポートします。

  • 可用性グループの展開と管理を簡単にするツールの統合セットが用意されています。これには次のツールが含まれます。

用語と定義

可用性グループ
ひとまとまりでフェールオーバーされるデータベースのセット ( 可用性データベース) のコンテナー。

可用性データベース
可用性グループに属しているデータベース。 可用性データベースごとに、可用性グループは 1 個の読み取り/書き込み可能なコピー ( プライマリ データベース) と 1 ~ 8 個の読み取り専用コピー (セカンダリ データベース) を管理します。

プライマリ データベース
可用性データベースの読み取り/書き込み可能なコピー。

セカンダリ データベース
可用性データベースの読み取り専用コピー。

可用性レプリカ
可用性グループのインスタンス化。 SQL Server の特定のインスタンスによってホストされ、可用性グループに属する各可用性データベースのローカル コピーを保持します。 可用性グループには、2 種類の可用性レプリカ ( プライマリ レプリカ と 1 ~ 8 個の セカンダリ レプリカ) があります。

プライマリ レプリカ
クライアントからプライマリ データベースへの読み取り/書き込み接続を可能にし、各プライマリ データベースのトランザクション ログ レコードをすべてのセカンダリ レプリカに送信する可用性レプリカ。

セカンダリ レプリカ
各可用性データベースのセカンダリ コピーを保持し、可用性グループの潜在的なフェールオーバー ターゲットとして機能する可用性レプリカ。 必要に応じて、セカンダリ レプリカは、セカンダリ データベースへの読み取り専用アクセスと、セカンダリ データベース上でのバックアップの作成をサポートできます。

可用性グループ リスナー
Always On 可用性グループのプライマリ レプリカまたはセカンダリ レプリカ内のデータベースにアクセスするためにクライアントが接続できるサーバー名。 可用性グループ リスナーは、プライマリ レプリカまたは読み取り専用セカンダリ レプリカに着信接続をダイレクトします。

注意

詳細については、「 Always On 可用性グループの概要 (SQL Server)」を参照してください。

その他のデータベース エンジン機能との相互運用性と共存

Always On 可用性グループ は、 SQL Serverの次の機能またはコンポーネントと共に使用できます。

警告

Always On 可用性グループ で他の機能を使用する場合の制限事項については、「Always On 可用性グループ: 相互運用性 (SQL Server)」を参照してください。

参照

AlwaysOn 可用性グループの概要 (SQL Server)
AlwaysOn 可用性グループの前提条件、制限事項、および推奨事項 (SQL Server)
Always On 可用性グループのためのサーバー インスタンスの構成 (SQL Server)
可用性グループの作成と構成 (SQL Server)
可用性グループの管理 (SQL Server)
可用性グループの監視 (SQL Server)
Always On 可用性グループの Transact-SQL ステートメントの概要 (SQL Server)
Always On 可用性グループ用の PowerShell コマンドレットの概要 (SQL Server)