Azure SQL Database および Azure SQL Managed Instance での Azure メンテナンス イベントの計画

適用対象:Azure SQL データベースAzure SQL Managed Instance

Azure SQL Database および Azure SQL Managed Instance 内のデータベースに計画メンテナンス イベントを準備する方法について説明します。

計画メンテナンス イベントとは

Azure SQL Database サービスと Azure SQL Managed Instance サービスのセキュリティ、コンプライアンス、安定、パフォーマンスを維持するため、サービス コンポーネントによる更新がほぼ連続して行われています。 最新で堅牢なサービス アーキテクチャと、ホット パッチのような革新的なテクノロジにより、ほとんどの更新は完全に透過的であり、サービスの可用性に影響を与えることはありません。 ただし、いくつかの更新の種類では、サービスが短時間中断し、特別な処理が必要になる場合があります。

計画メンテナンス中は、データベース クォーラムのメンバーは 1 つずつオフラインになります。これは、対応するプライマリ レプリカを 1 つ確保するためです。 Business Critical データベースおよび Premium データベースについては、クライアントのダウンタイムが発生しないように、少なくとも 1 つのセカンダリ レプリカもオンラインになります。

プライマリ レプリカをオフラインにする必要がある場合は、再構成プロセスが発生します。

  • Business Critical データベースおよび Premium データベースについては、セカンダリ レプリカの 1 つが新しいプライマリ レプリカになります。
  • General Purpose データベース、Standard データベース、Basic データベースについては、十分な空き容量がある別のステートレス コンピューティング ノードにプライマリ レプリカが移動します。

計画メンテナンス イベント時に予期されること

メンテナンス イベントでは、メンテナンス イベントの開始時に集められたプライマリとセカンダリのレプリカに応じて、1 つまたは複数の再構成が発生する場合があります。 平均すると、1 回の計画メンテナンス イベントあたり 1.7 回の再構成が発生します。 通常、再構成は 30 秒以内に完了します。 平均は 8 秒です。 アプリケーションが既に接続されている場合は、データベースの新しいプライマリ レプリカに再接続する必要があります。

新しいプライマリ レプリカがオンラインになる前に、データベースの再構成中に新しい接続が試行された場合、エラー 40613 (データベースは使用できません): Database '{databasename}' on server '{servername}' is not currently available. Please retry the connection later. が発生します。後で接続を再試行してください。"" が発生します。データベースに実行時間の長いクエリがある場合、このクエリは再構成中に中断され、再開する必要があります。

メンテナンス期間機能

メンテナンス期間機能を使用すると、対象となる Azure SQL データベースと SQL マネージド インスタンスに対して、予測可能なメンテナンス期間スケジュールを構成できます。 メンテナンス期間の事前通知 は、デフォルト以外のメンテナンス期間を使用するように構成されたデータベースに使用できます。

  • Azure SQL データベースでは、メンテナンス期間とメンテナンス期間の事前通知が一般公開されています。
  • Azure SQL Managed Instance では、メンテナンス期間は一般公開されていますが、事前通知はプレビュー機能となっています。

計画メンテナンス イベントをシミュレートする方法

運用環境にデプロイする前に、クライアント アプリケーションがメンテナンス イベントに対する回復性があることを確認します。

テストにより、アプリケーションの障害のリスクが軽減され、エンド ユーザーのアプリケーションの可用性に寄与します。 PowerShell、CLI、または REST API を使用してアプリケーションの障害に対する回復性のテストを行うことによって、計画メンテナンス イベント中にクライアント アプリケーションの動作をテストできます。

Azure SQL Managed Instance については、手動フェールオーバーの開始に関するページも参照してください。 手動フェールオーバーにより、プライマリ レプリカをオフラインにするメンテナンス イベントと同じ動作が生成されます。

再試行ロジック

クラウド データベース サービスに接続するクライアント運用アプリケーションでは、堅牢な接続再試行ロジックを実装する必要があります。 適切な自動再試行ロジックは、再構成をエンド ユーザーに可能な限り透過的にするのに役立ちます。

Service Health アラート

サービスの問題や計画メンテナンス作業についてのアラートを受け取りたい場合、Azure portal から、適切な種類のイベントとアクション グループに Service Health アラートを組み合わせて使用できます。 詳細については、Azure サービスの通知でアラートを受け取る方法に関するページを参照してください。

リソース ヘルス

データベースでサインイン エラーが発生している場合は、Azure portal[リソース正常性] ウィンドウで、現在の状態を確認します。 [正常性の履歴] セクションには、(該当する場合は) イベントごとのダウンタイムの理由が含まれています。