[SQL Database] Reconfiguration (リコンフィグレーション) は悪ではない。


皆さん、こんにちは。 SQL Server/Microsoft Azure SQL Database サポートチーム です。

今回は、Microsoft Azure SQL Database (以下 MASD) を使用するうえで、必ずお目に掛かる Reconfiguration (リコンフィグレーション) について紹介します。


note New! Azure SQL Database v12 環境における既知の問題について
Azure SQL Database v12 の Reconfiguration については、現在以下の問題が認識されており、以下のブログに速報をご案内しております。

V12 の Azure SQL Database の sys.event_log に reconfiguration が記録されない
http://blogs.msdn.com/b/jpsql/archive/2015/08/21/v12-azure-sql-database-sys-event-log-reconfiguration-document-version-1-0.aspx

上記記事についてはアップデートを随時実施してまいります。速報としてのご案内となりますため、今後の内容が変更される場合がありますが、ご参考になれば幸いです。

[Reconfiguration (リコンフィグレーション) とは!?]

Reconfiguration は、MASD 環境上の高可用性を維持するために実装された仕組みであり、ロールの変更 (セカンダリからプライマリへの昇格など) が行われる動作のことを意味します。

具体的には、以下のような場合に発生する可能性のある動作になります。

 

1. SQL Database、OS に対して更新プログラムなどを適用する場合

2. SQL Database を構成しているレプリカ (プライマリ、セカンダリ) 上で何らかの異常を検知した場合 (物理ハードウェアの問題を含む)

 

Reconfiguration に伴い、既存のセッションが切断され、ロールの変更が完了するまでの 数秒、数十秒間、お客様データベースへの接続に時間を要するなどの現象が発生する可能性があります。

しかしながら、長期間のダウンタイムを発生させないよう、必要な更新プログラムの適用などを適切なタイミングで実施したり、長期間のダウンタイムが発生しうる状況を事前に検知し、事前に問題を解消させるために必要な動作となります。

そのため、Reconfiguration は悪ではなく、長期間のダウンタイムの発生を可能な限り防ぎ、高可用性を維持するという意味では、私達の味方ですね。

 

なお、ここで重要となる点として、MASD 環境を使用したシステムを構築する場合は、Reconfiguration が行われることを前提としたアプリケーションを実装することが、お客様 アプリケーション側の可用性を維持するために必要となります。

 

MASD 環境を使用したシステムを構築する上で、推奨しているアプリケーションの実装方式については、以下の ブログ を参照下さい。

 

[SQL Database] アプリケーション作成における推奨事項について (Microsoft Azure SQL Database)
http://blogs.msdn.com/b/jpsql/archive/2014/10/22/sql-database-windows-azure-sql-database.aspx

 

 

※ 本Blogの内容は、2017年11月 現在の内容となっております

Comments (0)

Skip to main content