Always On 可用性グループ: 高可用性とディザスター リカバリーのソリューション
適用対象:SQL Server
Always On 可用性グループ 機能は、データベース ミラーリングに代わる、高可用性と災害復旧のためのエンタープライズ レベルのソリューションです。 SQL Server 2012 (11.x)で導入された Always On 可用性グループ により、エンタープライズのユーザー データベースの可用性が最大限に高まります。 可用性グループ は、 可用性データベースとして知られる、ひとまとまりでフェールオーバーされる個別のユーザー データベースのセットのためのフェールオーバー環境をサポートします。 可用性グループは、読み取り/書き込みプライマリ データベースのセットをサポートし、1 ~ 8 セットの対応するセカンダリ データベースをサポートします。 必要に応じて、セカンダリ データベースで読み取り専用アクセスまたはいくつかのバックアップ操作を利用できます。
可用性グループは、可用性レプリカのレベルでフェールオーバーします。 データベースの問題 (たとえば、データ ファイルの損失、データベースの削除、トランザクション ログの破損による障害が疑われる場合など) が発生してもフェールオーバーは行われません。
Note
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 つの同期セカンダリ レプリカがあります。
自動フェールオーバー、計画的な手動フェールオーバー (通常は単に "手動フェールオーバー" と呼ばれます)、および強制手動フェールオーバー (通常は単に "強制フェールオーバー" と呼ばれます) の複数の形式の可用性グループ フェールオーバーをサポートします。 詳しくは、「フェールオーバーとフェールオーバー モード (Always On 可用性グループ)」をご覧ください。
次のアクティブ セカンダリ機能の一方または両方をサポートするように指定された可用性レプリカを構成できます。
セカンダリ レプリカとして動作中に、レプリカへの読み取り専用接続でそのデータベースにアクセスして読み込むことができる読み取り専用接続アクセス。 詳細については、「アクティブなセカンダリ: 読み取り可能なセカンダリ レプリカ (Always On 可用性グループ)」を参照してください。
セカンダリ レプリカとして動作中に、そのデータベース上でバックアップ操作を実行します。 詳細については、「アクティブなセカンダリ: セカンダリ レプリカでのバックアップ (Always On 可用性グループ)」を参照してください。
アクティブ セカンダリ機能を使用して、セカンダリ ハードウェアのリソース使用効率を高めることで、IT の効率性を改善し、コストを低減できます。 また、読み取りを目的としたアプリケーションやバックアップ ジョブをセカンダリ レプリカへとオフロードすることで、プライマリ レプリカのパフォーマンスを改善できます。
可用性グループごとに 1 つの可用性グループ リスナーをサポートします。 可用性グループ リスナー は、Always On 可用性グループのプライマリ レプリカまたはセカンダリ レプリカ内のデータベースにアクセスするためにクライアントが接続できるサーバー名です。 可用性グループ リスナーは、プライマリ レプリカまたは読み取り専用セカンダリ レプリカに着信接続をダイレクトします。 リスナーは、可用性グループがフェールオーバーした後のアプリケーション フェールオーバーを高速化します。 詳細については、可用性グループ リスナー、クライアント接続、およびアプリケーションのフェールオーバー (SQL Server) に関するページを参照してください。
可用性グループのフェールオーバーを細かく制御する柔軟なフェールオーバー ポリシーをサポートします。 詳しくは、「フェールオーバーとフェールオーバー モード (Always On 可用性グループ)」をご覧ください。
ページ破損に対する保護機能を提供する自動ページ修復をサポートします。 詳細については、このトピックの「ページの自動修復 (可用性グループ: データベース ミラーリング)」を参照してください。
安全性とパフォーマンスに優れたトランスポートを実現する、暗号化機能と圧縮機能をサポートします。
可用性グループの展開と管理を簡単にするツールの統合セットが用意されています。これには次のツールが含まれます。
可用性グループの作成と管理のための Transact-SQL DDL ステートメント。 詳細については、「Always On 可用性グループの Transact-SQL ステートメントの概要 (SQL Server)」を参照してください。
SQL Server Management Studio ツール。
新しい可用性グループ ウィザード では、可用性グループの作成と構成を行います。 一部の環境では、このウィザードで、セカンダリ データベースを自動的に準備し、それらの各データベースに対するデータ同期を開始することもできます。 詳細については、「新しい可用性グループ ダイアログ ボックスの使用 (SQL Server Management Studio)」を参照してください。
可用性グループへのデータベース追加ウィザードでは、既存の可用性グループに 1 つ以上のプライマリ データベースを追加できます。 一部の環境では、このウィザードで、セカンダリ データベースを自動的に準備し、それらの各データベースに対するデータ同期を開始することもできます。 詳細については、「 可用性グループへのデータベース追加ウィザードの使用 (SQLServer)」を参照してください。
可用性グループへのレプリカ追加ウィザード では、既存の可用性グループに 1 つ以上のセカンダリ レプリカを追加できます。 一部の環境では、このウィザードで、セカンダリ データベースを自動的に準備し、それらの各データベースに対するデータ同期を開始することもできます。 詳細については、「可用性グループへのレプリカ追加ウィザードの使用 (SQL Server Management Studio)」を参照してください。
可用性グループのフェールオーバー ウィザードでは、可用性グループに対して手動のフェールオーバーを開始できます。 フェールオーバーのターゲットとして指定するセカンダリ レプリカの構成と状態によっては、このウィザードで計画的または強制的な手動フェールオーバーを実行することもできます。 詳細については、「可用性グループのフェールオーバー ウィザードの使用 (SQL Server Management Studio)」を参照してください。
Always On 可用性グループ、可用性レプリカ、および可用性データベースを監視し、Always On ポリシーの結果を評価する Always On ダッシュボード。 詳細については、「Always On ダッシュボードの使用 (SQL Server Management Studio)」を参照してください。
既存の可用性グループに関する基本情報を表示する、[オブジェクト エクスプローラーの詳細] ペイン。 詳細については、「[オブジェクト エクスプローラーの詳細] を使用した可用性グループの監視 (SQL Server Management Studio)」を参照してください。
PowerShell コマンドレット。 詳細については、「Always On 可用性グループの PowerShell コマンドレットの概要 (SQL Server)」を参照してください。
用語と定義
可用性グループ
ひとまとまりでフェールオーバーされるデータベースのセット ( 可用性データベース) のコンテナー。
可用性データベース
可用性グループに属しているデータベース。 可用性データベースごとに、可用性グループは 1 個の読み取り/書き込み可能なコピー ( プライマリ データベース) と 1 ~ 8 個の読み取り専用コピー (セカンダリ データベース) を管理します。
プライマリ データベース
可用性データベースの読み取り/書き込み可能なコピー。
セカンダリ データベース
可用性データベースの読み取り専用コピー。
可用性レプリカ
可用性グループのインスタンス化。 SQL Server の特定のインスタンスによってホストされ、可用性グループに属する各可用性データベースのローカル コピーを保持します。 可用性グループには、2 種類の可用性レプリカ ( プライマリ レプリカ と 1 ~ 8 個の セカンダリ レプリカ) があります。
プライマリ レプリカ
クライアントからプライマリ データベースへの読み取り/書き込み接続を可能にし、各プライマリ データベースのトランザクション ログ レコードをすべてのセカンダリ レプリカに送信する可用性レプリカ。
セカンダリ レプリカ
各可用性データベースのセカンダリ コピーを保持し、可用性グループの潜在的なフェールオーバー ターゲットとして機能する可用性レプリカ。 必要に応じて、セカンダリ レプリカは、セカンダリ データベースへの読み取り専用アクセスと、セカンダリ データベース上でのバックアップの作成をサポートできます。
可用性グループ リスナー
Always On 可用性グループのプライマリ レプリカまたはセカンダリ レプリカ内のデータベースにアクセスするためにクライアントが接続できるサーバー名。 可用性グループ リスナーは、プライマリ レプリカまたは読み取り専用セカンダリ レプリカに着信接続をダイレクトします。
Note
詳細については、「Always On 可用性グループの概要 (SQL Server)」を参照してください。
その他のデータベース エンジン機能との相互運用性と共存
Always On 可用性グループ は、 SQL Serverの次の機能またはコンポーネントと共に使用できます。
警告
Always On 可用性グループで他の機能を使用する場合の制限事項については、「Always On 可用性グループ: 相互運用性 (SQL Server)」を参照してください。
Related Tasks
関連コンテンツ
ブログ:
SQL Server Always On チームのブログ: SQL Server Always On チームのオフィシャル ブログ
ホワイト ペーパー:
高可用性と災害復旧のための Microsoft SQL Server AlwaysOn ソリューション ガイド
参照
Always On 可用性グループの概要 (SQL Server)
Always On 可用性グループの前提条件、制限事項、推奨事項 (SQL Server)
Always On 可用性グループのためのサーバー インスタンスの構成 (SQL Server)
可用性グループの作成と構成 (SQL Server)
可用性グループの管理 (SQL Server)
可用性グループの監視 (SQL Server)
AlwaysOn 可用性グループの Transact-SQL ステートメントの概要 (SQL Server)
Always On 可用性グループの PowerShell コマンドレットの概要 (SQL Server)