---
title: "Azure SQLの監視と維持"
slug: "monitoring-and-maintaining-azure-sql"
abstract: "Azure SQLでAzure App Serviceを通じてSitecoreデータベースを管理しましょう。"
---
# Azure SQLの監視と維持

Microsoft Azure ® App ServiceのSitecoreのデフォルトデータベースエンジンは[Microsoft Azure SQL](https://azure.microsoft.com/en-us/services/sql-database/) ®です。Sitecoreがすべてのデータベースを保存する場所です。

## コストを抑えましょう

デフォルトでは、すべてのSitecoreデータベースはエラスティックデータベースモデルではなくシングルデータベースモデルを使用しています。これは、Sitecoreがデフォルトでそれぞれ異なるパフォーマンス要件を持つデータベースを使用しているため、エラスティックデータベースモデルはよりコストが高くなるためです。

しかし、追加のSitecoreモジュールや独自のカスタムデータベースでデータベースを追加する場合は、シングルモデルとエラスティックモデルのどちらがあなたの要件により適しているかを再評価すべきです。SQLデータベースの選択肢やパフォーマンスについて詳しくは、[Azure SQL SKUや価格](https://azure.microsoft.com/en-us/pricing/details/sql-database/) を参照し、[各サービス層で利用可能な内容](https://docs.microsoft.com/en-us/azure/sql-database/sql-database-service-tiers)を理解してください。

## データベースのセキュリティを確保しましょう

データベースのセキュリティ確保は最も重要な作業の一つです。Microsoft Azure SQでは、データベースの安全を確保するためのいくつかの方法があります。Microsoft Azure SQLサイトでは、以下の方法が説明されています:

-   [SQLデータベースを厳重に守](https://docs.microsoft.com/en-us/azure/sql-database/sql-database-security-overview)りましょう。
-   [誰がデータベースにアクセスできるかを管理し、付与します。](https://docs.microsoft.com/en-us/azure/sql-database/sql-database-manage-logins)
-   [Azure SQLデータベースファイアウォールの設定方法](https://docs.microsoft.com/en-us/azure/sql-database/sql-database-firewall-configure)をしっかり理解しておくことが重要です。
-   Azureポータルを使って [Azure SQLデータベースサーバーレベルのファイアウォールルール](https://docs.microsoft.com/en-us/azure/sql-database/sql-database-configure-firewall-settings)を作成・管理してください。

> !重要Sitecoreを設定する際、Sitecoreがデータベースと通信できるように、Sitecore SQL管理者ユーザーと複数の役割固有の非管理者ユーザーアカウントを作成します。管理者ユーザープロファイルは管理タスク専用に予約し、ランタイムサイトには絶対に予約しないでください。ユーザープロファイルや役割のベストプラクティスの詳細はMicrosoft Azure SQLサイトでご覧いただけます。

## データベースのバックアップと復元

Azure SQLサービスは追加料金なしで自動的にデータベースバックアップを作成し、Azure読み取りジオ冗長ストレージ(RA-GRS)を使ってジオ冗長性を提供します。自動的にデータベースをバックアップAzure SQLするために何もする必要はありません。ただし、バックアップを自分のストレージコンテナに保持したい場合は、長期的なバックアップ保持ポリシーを設定することができます。Microsoft Azure SQLサイトでは、データベースのバックアップ方法と以下の方法を説明しています:

-   [SQLデータベースのバックアップについて学び](https://docs.microsoft.com/en-us/azure/sql-database/sql-database-automated-backups)ましょう。
-   [Azure SQLデータベースを以前の時点に復元](https://docs.microsoft.com/en-us/azure/sql-database/sql-database-point-in-time-restore)します。
-   [Azure Recovery Servicesのヴォールトで自動化されたバックアップの長期保持を設定できます。](https://docs.microsoft.com/en-us/azure/sql-database/sql-database-configure-long-term-retention)

## パフォーマンスの最適化

Azure SQLは、データベースの問題を監視し、パフォーマンスを向上させる方法を探すための複数の方法を提供します。Microsoft Azure Monitorを使ってDTU、データベースサイズパーセンテージ、デッドロックなどの指標でアラートを作成できます。また、Query Performance InsightやSQL Database Advisorなどのツールを使うことでパフォーマンス向上にも役立ちます。

Sitecoreは、SitecoreデータベースのデフォルトのSQLインデックス構成に変更を加えることを推奨していません。Sitecoreが提供するインデックス構成は一般的な使用シナリオに合わせて設計されており、十分にテストされています。

しかし、インデックス設定を変更することが検討される使用状況もあります。Sitecoreソリューションが大量のリード(「セレクト」)を行う場合、Unversioned、Versioned、Shared fieldsテーブルのインデックスタイプをクラスタ化に変更することで読み取り性能が向上します。

これには代償があります。アイテムの挿入、保存、削除は遅くなり、公開も同様に遅くなります。

設定を変更する場合は、実際のデータで変更をテストし、変更が実際に期待通りにパフォーマンスを向上させているか確認する必要があります。また、これらの変更が不要なエラーを引き起こし、副作用がある場合、Sitecoreはサポートできないことも認識しておく必要があります。

以下のような機能からより多くのものを得ることができます:

-   [Azure SQLデータベースクエリパフォーマンスインサイト](https://docs.microsoft.com/en-us/azure/sql-database/sql-database-query-performance)ツールを活用してください。
-   Azureポータルから [SQLデータベースアドバイ](https://docs.microsoft.com/en-us/azure/sql-database/sql-database-advisor-portal) ザーをご利用ください。
-   Azureポータルを使って [Azure SQLデータベースのアラートを作成](https://docs.microsoft.com/en-us/azure/sql-database/sql-database-insights-alerts-portal)してください。
-   [Azureポータルを使ってSQLデータベースのサービスティアとパフォーマンスレベル(価格帯)を変更します。](https://docs.microsoft.com/en-us/azure/sql-database/sql-database-scale-up)