この記事では、「Set up SQL Maintenance Plan」サービス リクエストに関係する手順の詳しい概要と、予期される効果について解説します。リクエストにアクセスするには、このリンクをクリックしてください。
アクション |
Sitecoreの責任範囲 |
お客様の責任範囲 |
ポータルでリクエストを作成する |
C, I |
R, A |
メンテナンス プランのインストールとセットアップ |
R, A |
C, I |
開始時間とスケジュールの設定 |
R, A |
C, I |
メンテナンス プランのロジックまたはパラメータの変更 |
C, I |
R, A |
動作中の問題やエラーの解析 |
C, I |
R, A |
凡例:
R – 実行責任者
A – 説明責任者
C – 協業先・相談先
I – 報告先
Azure SQLデータベースの定期的な正常性ルーチンは、Managed Cloud Standardのベストプラクティスのご提案内容のうちの一つです。適切なメンテナンスの手順に従わない場合、時間が経つにつれてSQLのパフォーマンスが劣化する可能性があります。一方、Sitecore Managed Cloudサポート チームは、Azure Automationを元に構築されたメンテナンス手順の標準的なソリューションを有しており、これはServiceNowのサービス カタログに記載されている「Set up SQL Maintenance Plan」として知られています。
Azure SQLメンテナンス プランには、インデックスおよび統計情報の再構築、古いログの削除などの、最適なパフォーマンスを確保するのに必要な様々なアクションが含まれており、これらは、お客様のSitecore Managed Cloud実装内の全てのデータベースに対して実行されます。お客様は、メンテナンス作業の定期的な実行スケジュールを指定することができます。その環境が使用される業務時間(繁忙時間)帯以外の時間帯で、毎週メンテナンス作業が行われるようにスケジュールしていただくことをお勧めしますが、負荷の軽いウェブサイトでは月一回、負荷の重いウェブサイトでは一日おきに実行するなど、柔軟な設定にも対応しています。
Azure SQLメンテナンス プランのセットアップの一環として、Sitecore Managed Cloudサポート チームはAzure Automationアカウントを作成します(既存のアカウントが利用できる場合はそちらを使用します)。また、様々なSQLクエリを使用してメンテナンス作業を実施するRunbookも作成します。
このメンテナンスの手法の有効性を実証するため、Sitecore Managed Cloudサポート チームは、Runbookの実行前後にユーティリティSQLクエリを実行することがあります。これにより、お客様の環境でのメンテナンスの結果を比較することができます。
以下は、メンテナンス プランの実行前後における平均断片化率の違いを示した例です。
SQLメンテナンス プランを実行しても、ダウンタイムが発生することはありません。しかし、プランの実行中に、消費DTU(データベース トランザクション ユニット)の一時的な高騰がみられる場合があります。このメンテナンスのロジックの観点からは、殆どの場合において最も複雑なSitecoreデータベースである「master」データベースにおいて、最も負荷が高くなることが予想されます。従って、初回の実行は、業務時間外に開始していただくことをお勧めします。
通常、これらのメンテナンス プランは、標準的なSitecore Managed Cloudデプロイメント内の全てのデータベースについて、一時間未満で実行を完了できます。Azure Automationでは、標準的なジョブの実行時間が割り当てられており(正確な割り当て時間の長さは地域によって異なります)、2023年4月現在、多くの地域においては500分の時間が配分されています。このメンテナンス作業の処理時間がデフォルトの割り当て時間を超えた場合、追加料金が適用される場合があります。