適切な Azure SQL Database 機能を選択する
自転車製造のシナリオで、Azure SQL Database に移行するデータベースを既に特定し、プロファイリングしました。 ここで、データの回復性、ディザスター リカバリー、セキュリティ、およびその他の実装の詳細を考慮して、移行を計画します。
Azure SQL Database への移行プロセスをサポートするために使用できるツールと機能を知りたいと考えています。
Azure SQL Database のベネフィット
単一およびエラスティック プール データベースをデプロイする利点のまとめを次に示します。
カテゴリ | 機能 |
---|---|
バックアップと回復 | 自動バックアップ |
ポイントインタイム リストア | |
7 日以上のバックアップ リテンション期間 | |
長期バックアップ リテンション期間を使用すると、バックアップは最長 10 年間格納される | |
高可用性 | 99.99% の高可用性を保証 |
3 つのセカンダリ レプリカによる組み込みの可用性 | |
Azure 可用性ゾーンを使用したゾーン冗長 | |
ディザスター リカバリー | データベース バックアップの geo リストア |
Azure リージョン間のアクティブ geo レプリケーション | |
サービスの拡張性 | 動的なスケールアップとスケールダウン |
複数のシャードを使用したスケールアウト | |
エラスティック プールを使用してデータベース間でコンピューティング リソースを共有 | |
Security | Microsoft Entra 認証のサポート |
高度な脅威保護などのクラウドのみのセキュリティ機能 | |
既定で有効になっている Transparent Data Encryption (TDE) | |
動的および静的なデータ マスク、行レベルのセキュリティ、および Always Encrypted のサポート | |
ファイアウォール許可リスト | |
ライセンス | 予測コスト計算用の DTU 購入モデル |
コンピューティングとは無関係にストレージのスケーリングを可能にする仮想コア購入モデル | |
仮想コア購入モデルを SQL Server 用の Azure ハイブリッド特典と組み合わせることで、最大 30% のコスト削減を実現 |
ヒント
Azure SQL Database に移行する利点と使用可能な機能を確認するには、「Azure SQL を使用して PaaS ソリューションをデプロイする」を参照してください。
Azure SQL Database の独占的な機能
Azure SQL Database では、他の Azure SQL オファリングでは使用できない一部の機能がサポートされます。
機能 | 定義 |
---|---|
Hyperscale | 独立してスケーラブルなコンピューティングとストレージを可能にするクラウドネイティブ アーキテクチャ。他のレベルよりも高い柔軟性とリソースを提供します。 |
自動スケール | サーバーレス コンピューティング レベルで使用されます |
自動チューニング (インデックス) | この組み込み機能は、ワークロードのパフォーマンスを向上させることができるインデックスを自動的に識別して作成します。 クエリのパフォーマンスが向上したことの確認と、未使用または重複するインデックスの削除も実行します。 |
エラスティック クエリ | SQL Database の複数のデータベースをブリッジする T-SQL クエリを実行できます。 この機能は、変更できない 3 部と 4 部構成の名前を使用するアプリケーションに便利です。 |
エラスティック ジョブ | エラスティック ジョブ機能は、Azure SQL Database の SQL Server エージェントの代替機能です。 エラスティック ジョブは、SQL Server インスタンスで使用できるマルチ サーバー管理機能にある程度類似しています。 |
SQL データ同期 | SQL Database または SQL Server で実行されている複数のデータベース間でデータを増分同期できます。 |
Query Performance Insights (QPI) | このツールは、ワークロードの全体的なパフォーマンスを向上させ、コストをかけているリソースを効率的に使用するために、最適化するクエリを見つけるのに役立ちます。 |
重要
SQL Database、SQL Server、Azure SQL Managed Instance の機能面のその他の違いと、Azure SQL Database の各種オプション間の違いについては、SQL Database の機能に関するページを参照してください。
サポートされている移行オプション
Azure SQL Database への移行には、オンラインとオフラインの 2 つのモードがあります。 オンライン モードのダウンタイムは最小限であるか、発生しませんが、オフライン モードでは移行プロセス中にダウンタイムが発生します。
ツール | 移行モード |
---|---|
Azure Database Migration Service | オフライン |
トランザクション レプリケーション | オンライン |
Azure Migrate | オフライン |
SQL データ同期 | * オフライン |
インポートおよびエクスポート ウィザードまたは BACPAC | オフライン |
一括コピー (bcp ユーティリティ) | オフライン |
Azure Data Factory | オフライン |
Data Migration Assistant (DMA) | オフライン |
* ワークロードによっては、パフォーマンスに大きな影響を与える可能性があります。
Note
Database Migration Assistant は使用可能で便利なツールですが、大規模な移行や全体的なエクスペリエンスの向上には、Azure Database Migration Service を使用することをお勧めします。
移行のパフォーマンス
Azure SQL Database に移行するときは、次の推奨事項を検討してください。
- ソースのデータ ファイル I/O と待機時間を監視し、ボトルネックを軽減します。
- ターゲット Azure SQL データベースを Business Critical Gen5 8 仮想コアにスケールアップするか、Hyperscale サービス レベルを使用してログ ファイルの待機時間を最小限に抑えます。
- ネットワーク帯域幅が最大のログ取り込み速度に対応できることを確認します。
- 転送パフォーマンスを最大限に高めるには、最高のサービス レベルとコンピューティング サイズを選択し、移行後にスケールダウンします。
- BACPAC ファイルと対象のデータ センターの間の距離を最短にします。
- 移行の間は統計の自動更新と自動作成を無効にする。
- テーブルとインデックスをパーティション分割し、インデックス付きビューを削除して移行後に再作成します。
- クエリが実行されることの少ない履歴データを Azure SQL Database 内の別のデータベースに移行し、エラスティック クエリを使用してクエリを実行することを検討します。
アプリケーションの接続再試行
Azure SQL Database に移行するときは、データベース リソースへの接続時に一時的な障害が発生することを予期し、適切な再試行ロジック メソッドを実装することが重要です。 プログラムが終了するまでの再試行の最大数を設定することも重要です。
最初の再試行では、少なくとも 5 秒間は待機することをお勧めします。 再試行するたびに、待機時間を指数関数的に増やし、最大 60 秒まで長くします。
Note
SELECT ステートメントが SQL Database の一時的なエラーで失敗した場合は、そのまま再試行しないでください。 そうせずに、新しい接続で SELECT ステートメントを再試行してください。
接続再試行プリンシパルの詳細については、「SQL Database と SQL Managed Instance での一時的な接続エラーのトラブルシューティング」を参照してください。