SQL Server のことなら SQL Quality SQL Server パフォーマンス チューニング、コンサルティング、アドバイス、相談、定期診断、トレーニング

ホーム > 技術情報 > SQL Server 2012 自習書 DWH 関連の新機能

SQL Server 2012 自習書シリーズ (HTML 版)
新機能編 No.2「AlwaysOn による可用性の向上」

松本美穂と松本崇博が執筆した SQL Server 2012 自習書シリーズの「新機能編 No.2 AlwaysOn による可用性の向上」の HTML 版です。 日本マイクロソフトさんの Web サイトで Word または PDF 形式でダウンロードできますが、今回、HTML 版として公開する許可をいただきましたので、ここに掲載いたします。[2014年12月26日]

目次へ | 前のページへ | 次のページへ

2.9 障害のシミュレーション1: 自動フェールオーバーの場合

◆ 障害のシミュレーション1: 自動フェールオーバーの場合

ここでは、プライマリ(SERVER1)に障害が発生した場合の動作を確認してみましょう。プライマリに障害が発生した場合は、次のように自動フェールオーバーが行われて、セカンダリ(SERVER2)がプライマリへ自動的に切り替わってくれます。

00127

◆ Let's Try

それでは、これを試してみましょう。

1.まずは、プライマリ側SERVER1)へ接続して、データを 1件追加しておきます。

-- プライマリ側データ追加
USE AGTestDB
INSERT INTO t1 VALUES(6)
SELECT FROM t1

00128

2.続いて、SHUTDOWN ステートメントを次のように実行して、プライマリを強制停止します。

-- プライマリ強制停止
SHUTDOWN WITH NOWAIT

00129

サービスが停止されると、自動フェールオーバーが内部実行されます(自動フェールオーバーにかかる時間は 10秒程度です)。

◆ 自動フェールオーバーの確認

1.次に、自動フェールオーバーが実行されたことを確認するために、オブジェクト エクスプローラーで元セカンダリ側(SERVER2)を最新の情報に更新して、可用性グループの状態を確認します。

00130

SERVER2 がプライマリへ変更されていることから、自動フェールオーバーが正常に完了したことを確認できます。また、元プライマリ(SERVER1)は、[接続状態]が「接続解除」、[同期状態]が「同期されていません」と表示されていることも確認できます(障害が発生して接続できていない場合には、このように表示されます)。

2.次に、SERVER2(現在のプライマリ)へ接続して、「t1」テーブルの中身を確認します。

USE AGTestDB
SELECT FROM t1

00131

元のプライマリ(SERVER1)側で追加したデータ「6」が反映されていることを確認できます。

3.次に、Visual Studio 2010 で作成した Windows アプリケーションを実行して、正しく結果が取得できることを確認します。

00132

アプリケーションは、リスナーAG1_Listener)で接続しているので、フェールオーバー後でも、どちらのサーバーが処理しているかを意識することなく、何の問題もなくアプリケーションを実行できることを確認できます。

このように、可用性グループでは、プライマリに障害が発生した場合には、自動的にフェールオーバーが実行されるので、ダウンタイム(停止時間)はわずか10秒程度です(フェールオーバーにかかる時間は、実行されているトランザクション量によっても変化します)。

◆ 元プライマリの起動

次に、元プライマリ(SERVER1)のサービスを開始した場合の動作を確認してみましょう。元プライマリを起動すると、次のようにセカンダリとして動作するようになります。

00133

それでは、これを試してみましょう。

1.オブジェクト エクスプローラーで、元プライマリ(SERVER1)を右クリックして[開始]をクリックします。

00134

サービスを開始しますか」と尋ねられるので、[はい]をクリックして、サービスを開始します。

2.サービスが開始されたら、オブジェクト エクスプローラーを最新の情報に更新して、可用性グループの状態を確認してみましょう。

00135

元プライマリがセカンダリとして、復帰していることを確認できます。

Note: 可用性グループでの障害検知(FailureConditionLevel)
データベース ミラーリングでは、DBM PING と呼ばれる通信パケットを利用して障害検知が行われていますが、可用性グループでは、WSFC(Windows Server フェールオーバー クラスター)のリソース機能を利用して障害検知が行われています。可用性グループを作成すると、可用性グループ名と同じ名前のリソースが次のように作成されています(フェールオーバー クラスター マネージャー ツールから確認できます)。
00136
このリソースの[プロパティ]タブを開くと、次のように「FailureConditionLevel」というプロパティがあり、この値を変更することで、どのような障害を SQL Server の障害と見なすのかを 5段階で設定することが可能です。
00137
既定値は「3」に設定されて、この場合は SQL Server の致命的な内部エラー(重大な書き込み違反など)が発生した場合に障害と見なすようになっています。
FailureConditionLevel の詳細については、オンライン ブックの以下の場所が参考になります。
可用性グループの自動フェールオーバーのための柔軟なフェールオーバー ポリシー
http://msdn.microsoft.com/ja-jp/library/hh710061.aspx
FailureConditionLevel は、次のように ALTER AVAILABILITY GROUP ステートメントを利用して変更することもできます。

ALTER AVAILABILITY GROUP 可用性グループ名
 SET (FAILURE_CONDITION_LEVEL = 3)

目次へ | 前のページへ | 次のページへ

事例1

MPNロゴ


SQLQualityは執筆とセミナーを通じて技術の啓蒙やエンジニアの育成支援も行っています
最新刊
SQL Server 2012 の教科書
SQL Server 2012 の教科書(ソシム)

弊社オリジナル制作の
SQL Server 2012 自習書も
マイクロソフトのサイトで公開中!
ロングセラー
ASP.NET でいってみよう  SQL Server 2000 でいってみよう
ASP.NET でいってみよう
第7刷 16,500 部発行
SQL Server 2000 でいってみよう
第12刷 28,500 部発行


セミナー風景
セミナー風景

弊社執筆の
SQL Server 2012 自習書
マイクロソフトのサイトで公開中
全30冊
ダウンロードはこちら
弊社執筆の
SQL Server 2008 R2 自習書
マイクロソフトのサイトで公開中
全30冊
目次はこちら
松本美穂のコラム
(公開活動などのお知らせ)

第38回: SQL Server 2014 CTP2 の公開
第37回: SQL Server 2014 CTP1 の自習書をご覧ください
第36回: SQL Server 2014 CTP1 のクラスター化列ストア インデックスを試す
第35回: SQL Server 2014 CTP1 のインメモリ OLTP の基本操作を試す
第34回: GeoFlow for Excel 2013 のプレビュー版を試す
第33回:iPad と iPhone からの SQL Server 2012 Reporting Servicesのレポート閲覧
第32回:PASS Summit 2012 参加レポート
第31回:SQL Server 2012 Reporting Services 自習書のお知らせ
第30回:SQL Server 2012(RTM 版)の新機能 自習書をご覧ください
第29回:書籍「SQL Server 2012の教科書 開発編」のお知らせ
第26回:SQL Server 2012 の Power View 機能のご紹介
第25回:SQL Server 2012 の Data Quality Services
第24回:SQL Server 2012 自習書のご案内と初セミナー報告
第23回:Denali CTP1 が公開されました
第22回 チューニングに王道あらず
第21回 Microsoft TechEd 2010 終了しました
第20回 Microsoft TechEd Japan 2010 今年も登壇します
第19回 SQL Server 2008 R2 RTM の 日本語版が公開されました
第18回 「SQL Azure 入門」自習書のご案内
第17回 SQL Server 2008 自習書の追加ドキュメントのお知らせ
第16回 SQL Server 2008 R2 自習書とプレビュー セミナーのお知らせ
第15回 SQL Server 2008 R2 Reporting Services と新刊のお知らせ
第14回 TechEd 2009 のご報告と SQL Server 2008 R2 について
第13回 SQL Server 2008 R2 の CTP 版が公開されました
第12回 MVP Summit 2009 in Seattle へ参加

技術コミュニティでも活動中

Microsoft MVP for SQL Server

松本崇博 Blog(SQL Server Tips)
松本美穂ブログ(SQL Serverノート)