Azure SQL Managed Instance を探索する
Azure SQL Database で使用できる機能のほとんどは、Azure SQL Managed Instance でも機能します。これは、同じ基本コードを共有しているためです。 完全に管理されたサービスとしてのプラットフォーム (PaaS) には、次のような利点があります。
- 自動バックアップ
- 自動修正プログラム適用
- 組み込みの高可用性
- セキュリティとパフォーマンス ツール
- 組み込みの監査機能
Azure 上の PaaS オファリングの 1 つに移行する場合のもう 1 つの重要な利点は、SQL Server をインストールしたり修正プログラムを適用したりする必要がなくなることです。これにより、アプリケーションの稼働時間が増加し、メンテナンス作業が減少します。
単一のデータベース構造を中心に設計された Azure SQL Database とは異なり、SQL Managed Instance には、複数のデータベースにまたがるクエリ、共通言語ランタイム (CLR)、システムデータベースへのアクセス、SQL エージェント機能の使用など、他のいくつかの機能が用意されています。
Azure SQL Managed Instance で利用できる機能の完全な一覧については、「SQL Database と SQL Managed Instance の機能」を参照してください。
ハイブリッド ライセンス オプション
Microsoft では、SQL Server のライセンスにいくつかのベネフィットを提供しています。 SQL Database と SQL Managed Instance の両方について、既存のライセンスを利用すると、PaaS オファリングの実行コストを削減できます。
アクティブなソフトウェア アシュアランス付きの Enterprise Edition の各コアについて、SQL Database または SQL Managed Instance Business Critical の 1 つの仮想コアと General Purpose の 8 個の仮想コアを使用できます。
アクティブなソフトウェア アシュアランス付き Standard Edition のコアごとに、General Purpose の 1 つの仮想コアを使用できます。
このモデルでは、ライセンスコストを最大 40% 削減できます。 実質的に、コンピューティング コストとストレージ コストのみを支払っており、ソフトウェア ライセンスのコストは支払っていないといえます。
ライセンス持ち込みモデルの詳細については、「Azure でのソフトウェア アシュアランスによるライセンス モビリティ」を参照してください。
接続のアーキテクチャ
SQL Managed Instance への接続は、TDS エンドポイントを介して行われます。 これらの接続のルーティングとセキュリティはさまざまですが、データベース サービスへの接続を処理し、ルーティングするゲートウェイ コンポーネントがあります。 このゲートウェイ コンポーネントも、可用性の高い方法で展開されます。
バックアップと復元
自動データベース バックアップは、完全に管理されたバックアップサービスを提供し、SQL Managed Instance と SQL Database の両方のオファリングについて、完全バックアップ、差分バックアップ、ログ バックアップを定期的に実行します。 自動バックアップは geo 冗長で、ペアリージョンに自動的にレプリケートされます。これにより、プライマリ リージョンでのローカライズされた障害からデータを保護できます。
同様に、SQL Managed Instance を使用すると、既存のアプリケーションを簡単に移行でき、オンプレミスのバックアップからの復元が可能になります。
SQL Managed Instance データベースでバックアップ操作と復元操作を実行する際には、いくつかの重要な考慮事項があります。
復元処理中に既存のデータベースを上書きすることはできません。 データベースを復元する前に、データベースが存在しないことを確認する必要があります。
SQL Managed Instance では、バックアップは別のマネージド インスタンスにのみ復元できます。 マネージド インスタンス データベースのバックアップを、仮想マシンまたは SQL Database で実行されている SQL Server に復元することはできません。
Azure blob storage へのコピーのみのバックアップは、SQL Managed Instance で使用できます。 SQL Database では、この機能はサポートされていません。
自動バックアップの詳細については、「自動バックアップ - Azure SQL Database & Azure SQL Managed Instance」を参照してください。
高可用性アーキテクチャ
SQL Database と SQL Managed Instance には類似した高可用性アーキテクチャがあり、99.99% のアップタイムを保証します。 Windows と SQL Server の更新は、通常、アプリケーションに影響を与えることなく、バックエンド インフラストラクチャによって処理されますが、それでもアプリケーションに再試行ロジックをもたせておくことは重要です。
自動フェールオーバー グループ機能を使用すると、サーバー上のレプリケートされたデータベースのグループを別のリージョンにフェールオーバーできます。 この機能は、既存のアクティブ geo レプリケーション機能の上に設計されており、geo レプリケートされたデータベースの展開と管理が簡単になります。
フェールオーバー グループには、多くの場合、同じアプリケーションで使用される、1 つまたは複数のデータベースを含めることができます。 さらに、読み取り可能なセカンダリ データベースを使用して、読み取り専用クエリ ワークロードをオフロードできます。
注意
自動フェールオーバー グループ機能は、SQL Managed Instance と SQL Database の両方でサポートされています。
自動フェールオーバー グループの詳細については、「自動フェールオーバーグループを使用して、複数のデータベースの透過的で調整された geo フェールオーバーを有効にする」を参照してください。
移行オプション
一般に、SQL Managed Instance への移行は、多くの場合、使用可能な機能の大規模なセットがあることで、簡単であるといえます。 オンプレミスのデータベースを移行するには、いくつかの方法があります。
Log Replay Service。 これはオンライン移行オプションであり、データベース移行プロジェクトをより詳細に制御する必要がある場合に使われます。
Azure Data Studio 用の Azure SQL Migration 拡張機能. これは、SQL Server データベースを Azure に移行する準備を支援するツールです。 最新バージョンの Azure Data Migration Service (DMS) を使用して移行の準備状況を評価し、ニーズに最適な Azure リソースを推奨し、移行を実行することができます。 小規模から中規模のデータベースに最適であり、SQL Managed Instance へのオンライン移行をサポートします。
Managed Instance のリンク。 Managed Instance のリンクを使うと、分散型可用性グループを使い、ホステッド SQL Server と Azure SQL Managed Instance (またはその逆) の間でほぼ瞬時に (オンラインで) データをレプリケートすることにより、データ資産をセキュリティで保護された方法で拡張することができます。
ネイティブ バックアップと復元。 バックアップと復元は、多くの SQL Server プロフェッショナルが好むシンプルな移行方法です。 これは、Azure Storage にデータベースの完全バックアップを提供できるお客様にとって、最も簡単な移行オプションです。
トランザクション レプリケーション トランザクション レプリケーションは、常時接続データベース サーバー間でデータを移動する方法です。 大規模で複雑なデータベースのオンラインまたはオフライン移行に使うことをお勧めします。
Machine Learning サービス
Machine Learning Services は、リレーショナル データベース構造内の機械学習操作を提供します。 この機能は、高負荷の予測機能に最適な Python および R パッケージをサポートしています。 このオプションは、SQL Managed Instance、Azure 仮想マシン上の SQL Server、およびオンプレミスの SQL Server で使用できます。
アプリケーションでは、Azure 上のリレーショナル データベースと機械学習の高パフォーマンス機能を組み合わせることができ、次のことが可能です。
サンプリングされたデータセットまたは母集団のデータセットに基づいて機械学習モデルをトレーニングします。
機械学習モデルを構築してトレーニングするためにデータを再配置する必要がないことで、セキュリティとコンプライアンスの複雑さが軽減されます。
Python または R プログラミング言語をサポートする T-SQL ストアド プロシージャを使用して、機械学習モデルを展開します。
Scikit-learn、PyTorch、および TensorFlow のようなオープンソースライブラリの使用。
ビジー状態の環境では、T-SQL PREDICT 関数を使用できます。これにより、格納されているモデルに基づいて予測を高速化できます。
Machine Learning Services 機能を有効にするには、次のコマンドを実行します。
EXEC sp_configure 'external scripts enabled', 1;
RECONFIGURE WITH OVERRIDE;
上記のコマンドでは、マネージド インスタンスで外部スクリプトを実行できます。また、 sp_execute_external_script を使用してデータベースで Python または R スクリプトを実行する前に有効にする必要があります。
注意
SQL Database は Machine Learning Services 機能をサポートしていません。
Machine Learning Services の詳細については、「 Azure SQL Managed Instance の Machine Learning Services」を参照してください。