機能の比較:Azure SQL Database と Azure SQL Managed Instance

適用対象: Azure SQL Database Azure SQL Managed Instance

Azure SQL Database と SQL Managed Instance は、SQL Server の最新の安定したバージョンと共通のコード ベースを共有します。 標準の SQL 言語、クエリ処理、データベース管理機能のほとんどは同一です。 SQL Server と SQL Database または SQL Managed Instance に共通する機能は次のとおりです。

Azure がデータベースを管理し、高可用性を保証します。 高可用性に影響する可能性がある、または PaaS では使用できない一部の機能は、SQL Database および SQL Managed Instance では機能が制限されています。 これらの機能について、以下の表で説明します。

違いについてさらに詳しく知りたい場合は、次の各ページで見つけることができます。

SQL Database と SQL Managed Instance の機能

次の表は、SQL Server の主要な機能を一覧にして、その機能が SQL Database および SQL Managed Instance で一部または完全にサポートされるかどうかについての情報と、機能に関する詳細情報へのリンクを示します。

機能 Azure SQL Database Azure SQL Managed Instance
常に暗号化 はい - 証明書ストアキー コンテナーに関する記事を参照してください はい - 証明書ストアキー コンテナーに関する記事を参照してください
Always On 可用性グループ 99.99 から 99.995% の可用性がすべてのデータベースで保証されます。 ディザスター リカバリーに関する解説は、「Azure SQL Database によるビジネス継続性の概要」を参照してください 99.99% の可用性がすべてのデータベースで保証され、ユーザーが管理することはできません。 ディザスター リカバリーに関する解説は、「Azure SQL Database によるビジネス継続性の概要」を参照してください。 別のリージョンにセカンダリ SQL Managed Instance を構成するには、自動フェールオーバー グループを使用します。 SQL Server インスタンスと SQL Database を SQL Managed Instance のセカンダリとして使用することはできません。
データベースの接続 いいえ いいえ
監査 はい はい。ただし、いくつかの相違点があります
Azure Active Directory (Azure AD) 認証 はい。 Azure AD ユーザーのみ。 はい。 サーバーレベルの Azure AD ログインを含む。
BACKUP コマンド いいえ、システムによって開始された自動バックアップのみ - 自動バックアップに関するページを参照してください はい、ユーザーによって開始された Azure BLOB ストレージへのコピーのみのバックアップ (ユーザーがシステムの自動バックアップを開始することはできません) - バックアップの相違点に関する記述を参照してください
組み込み関数 ほとんどの場合 - 個々の関数に関する記事を参照してください はい - ストアド プロシージャ、関数、トリガーの相違点に関するページを参照してください
BULK INSERT ステートメント はい、ただし、ソースとしての Azure Blob Storage からのみとなります。 はい、ただし、ソースとしての Azure Blob Storage からのみとなります - 相違点に関する記述を参照してください。
証明書と非対称キー はい、ただし、BACKUP および CREATE 操作のためにファイル システムにアクセスすることはできません。 はい、ただし、BACKUP および CREATE 操作のためにファイル システムにアクセスすることはできません - BACKUPに関する記述を参照してください。
変更データ キャプチャ - CDC はい、S3 レベル以上の場合。 Basic、S0、S1、S2 はサポートされていません。 はい
照合順序 - サーバー/インスタンス いいえ、既定のサーバーの照合順序である SQL_Latin1_General_CP1_CI_AS が常に使用されます。 はい、インスタンスが作成されるときに設定できます。後で更新することはできません。
列ストア インデックス はい - Premium レベル、Standard レベル - S3 以上、General Purpose レベル、Business Critical、HyperScale レベル はい
共通言語ランタイム - CLR いいえ はい、ただし、CREATE ASSEMBLY ステートメントでファイル システムにアクセスすることはできません - CREATE ASSEMBLYに関する記述を参照してください
資格情報 はい、ただし、データベース スコープの資格情報のみとなります。 はい。ただし、サポートされるのは Azure Key Vault のみです。詳細をご覧ください
クロスデータベース/3 部構成の名前のクエリ いいえ - エラスティック クエリに関する記事を参照してください はい
データベースにまたがるトランザクション いいえ はい、インスタンス内で。 クロスインスタンス クエリについては、リンク サーバーの違いに関する記事を参照してください。
データベース メール - DbMail いいえ はい
データベース ミラーリング いいえ いいえ
データベース スナップショット いいえ いいえ
DBCC ステートメント ほとんどの場合 - 個々のステートメントに関する記事を参照してください はい - DBCC の相違点に関する記事を参照してください
DDL ステートメント ほとんどの場合 - 個々のステートメントに関する記事を参照してください はい - T-SQL の相違点に関する記事を参照してください
DDL トリガー データベースのみ はい
分散パーティション ビュー いいえ はい
分散トランザクション - MS DTC いいえ - エラスティック トランザクションに関する記事を参照してください いいえ - エラスティック トランザクションに関する記事を参照してください
DML トリガー ほとんどの場合 - 個々のステートメントに関する記事を参照してください はい
DMV ほとんどの場合 - 個々の DMV に関する記事を参照してください はい - T-SQL の相違点に関する記事を参照してください
エラスティック クエリ はい。必要な種類の RDBMS があれば (パブリック プレビュー) いいえ、代わりにネイティブのクロス DB クエリとリンク サーバーを使用します
イベント通知 いいえ - アラートに関する記事を参照してください いいえ
はい はい
拡張イベント (XEvent) 一部 - 「SQL Database の拡張イベント」を参照してください はい - 拡張イベントの相違点を参照してください
拡張ストアド プロシージャ いいえ いいえ
ファイルおよびファイル グループ プライマリ ファイル グループのみ はい。 ファイル パスは自動的に割り当てられ、ALTER DATABASE ADD FILEALTER DATABASE ADD FILEでファイルの場所を指定することはできません。
FileStream いいえ いいえ
フルテキスト検索 (FTS) はい、ただし、サード パーティ フィルターとワード ブレーカーはサポートされていません はい、ただし、サード パーティ フィルターとワード ブレーカーはサポートされていません
関数 ほとんどの場合 - 個々の関数に関する記事を参照してください はい - ストアド プロシージャ、関数、トリガーの相違点に関するページを参照してください
メモリ内の最適化 はい (Premium および Business Critical サービス レベルの場合)。

の場合、メモリ最適化テーブル変数など、非永続的なインメモリ OLTP オブジェクトのサポートは限定的です。
はい (Business Critical サービス レベルの場合)
言語要素 ほとんどの場合 - 個々の要素に関する記事を参照してください はい - T-SQL の相違点に関する記事を参照してください
台帳 はい いいえ
リンク機能 いいえ はい (パブリック プレビュー)
リンク サーバー いいえ - エラスティック クエリに関する記事を参照してください はい。 分散トランザクションなしの SQL Server と SQL Database のみ。
ファイル (CSV、Excel) から読み取られるリンク サーバー いいえ。 CSV 形式の代わりとして、BULK INSERT または OPENROWSET を使用します。 いいえ。 CSV 形式の代わりとして、BULK INSERT または OPENROWSET を使用します。 SQL Managed Instance フィードバック項目でこれらの要求を追跡します
ログ配布 高可用性は、どのデータベースにも組み込まれています。 ディザスター リカバリーに関する解説は、ビジネス継続性の概要で説明されています。 Azure Data Migration Service (DMS) の移行プロセスの一環としてネイティブに組み込まれています。 外部のログ再生サービス (LRS) としてカスタム データ移行プロジェクト用にネイティブに組み込まれています。
高可用性ソリューションとしては使用できません。その理由は、他の高可用性メソッドがすべてのデータベースに含まれており、HA の代替手段としてログ配布を使用することは推奨されないからです。 ディザスター リカバリーに関する解説は、ビジネス継続性の概要で説明されています。 データベースの間のレプリケーション メカニズムとしては使用できません。Business Critical レベル自動フェールオーバー グループ、またはトランザクション レプリケーションでは、代替手段としてセカンダリ レプリカを使用してください。
ログインとユーザー はい、ただし、CREATE および ALTER ログイン ステートメントでは、すべてのオプションが提供されるわけではありません (Windows およびサーバーレベルの Azure Active Directory ログインはありません)。 EXECUTE AS LOGIN はサポートされていません。代わりに EXECUTE AS USER を使用してください。 はい、ただし、いくつかの相違点があります。 Windows ログインはサポートされておらず、Azure Active Directory ログインに置き換える必要があります。
一括インポートでの最小ログ記録 いいえ、完全復旧モデルのみがサポートされています。 いいえ、完全復旧モデルのみがサポートされています。
システム データの変更 いいえ はい
OLE オートメーション いいえ いいえ
OPENDATASOURCE いいえ はい、SQL Database、SQL Managed Instance、および SQL Server に対してのみとなります。 T-SQL の相違点に関するページを参照してください
OPENQUERY いいえ はい、SQL Database、SQL Managed Instance、および SQL Server に対してのみとなります。 T-SQL の相違点に関するページを参照してください
OPENROWSET はい、Azure Blob Storage からのインポートのみとなります。 はい、SQL Database、SQL Managed Instance と SQL Server に対してのみ、および Azure Blob Storage からのインポートに対してのみとなります。 T-SQL の相違点に関するページを参照してください
オペレーター ほとんどの場合 - 個々の演算子に関する記事を参照してください はい - T-SQL の相違点に関する記事を参照してください
Polybase いいえ。 Azure Blob Storage に配置されているファイル内のデータに対してクエリを実行するには、OPENROWSET 関数を使用するか、OPENROWSETを使用します。 はい、Azure Data Lake Storage (ADLS) と Azure Blob Storage をデータ ソースとして使用する場合。 詳細については、「Azure SQL Managed Instance によるデータ仮想化」を参照してください。
クエリ通知 いいえ はい
Machine Learning Services (以前の R サービス) いいえ はい - 「Azure SQL Managed Instance の Machine Learning Services」を参照してください
復旧モデル 高可用性が保証される完全復旧のみがサポートされています。 単純復旧モデルと一括ログ復旧モデルは利用できません。 高可用性が保証される完全復旧のみがサポートされています。 単純復旧モデルと一括ログ復旧モデルは利用できません。
リソース ガバナー いいえ はい
RESTORE ステートメント いいえ はい、Azure Blob Storage に配置されているバックアップ ファイルでは、FROM URL オプションが必須となります。 復元の相違点に関する記述を参照してください
バックアップからデータベースを復元する 自動バックアップからのみ - SQL Database の復旧に関する記事をご覧ください 自動バックアップから - SQL Database の復旧に関するページを参照してください。Azure Blob Storage に配置されている完全バックアップから - バックアップの相違点に関する記述を参照してください
データベースを SQL Server に復元する いいえ。 ネイティブ復元の代わりに BACPAC または BCP を使用します。 いいえ、SQL Managed Instance で使用されている SQL Server データベース エンジンには、オンプレミスで使用されている SQL Server のどの RTM バージョンよりも新しいバージョンがあります。 代わりに BACPAC、BCP、またはトランザクション レプリケーションを使用します。
セマンティック検索 いいえ いいえ
Service Broker いいえ はい、ただし、インスタンス内でのみとなります。 リモート Service Broker ルートを使用している場合は、移行時に複数の分散 SQL Server インスタンスから 1 つの SQL Managed Instance にデータベースを統合し、ローカル ルートのみを使用してみてください。 Service Broker の相違点に関する記述を参照してください
サーバーの構成設定 いいえ はい - T-SQL の相違点に関する記事を参照してください
SET ステートメント ほとんどの場合 - 個々のステートメントに関する記事を参照してください はい - T-SQL の相違点に関する記事を参照してください
SQL Server エージェント いいえ - 「エラスティック ジョブ (パブリック プレビュー)」を参照してください はい - SQL Server エージェントの相違点に関する記事を参照してください
SQL Server 監査 いいえ - SQL Database の監査に関する記事を参照してください はい - 監査の相違点に関するページを参照してください
システム ストアド関数 ほとんどの場合 - 個々の関数に関する記事を参照してください はい - ストアド プロシージャ、関数、トリガーの相違点に関するページを参照してください
システム ストアド プロシージャ 一部 - 個々のストアド プロシージャに関する記事を参照してください はい - ストアド プロシージャ、関数、トリガーの相違点に関するページを参照してください
システム テーブル 一部 - 個々のテーブルに関する記事を参照してください はい - T-SQL の相違点に関する記事を参照してください
システム カタログ ビュー 一部 - 個々のビューに関する記事を参照してください はい - T-SQL の相違点に関する記事を参照してください
TempDB はい。 すべてのデータベースのコアあたり 32 GB のサイズ はい。 GP 層全体で仮想コアあたり 24 GB のサイズで、BC 層のインスタンスのサイズに制限されます
一時テーブル ローカルおよびデータベース スコープのグローバル一時テーブル ローカルおよびインスタンス スコープのグローバル一時テーブル
タイム ゾーンの選択 いいえ はい、SQL Managed Instance の作成時に構成する必要があります。
トレース フラグ いいえ はい。ただし、グローバル トレース フラグは限られています。 DBCC の相違点に関するページを参照してください
トランザクション レプリケーション はい、トランザクション レプリケーションとスナップショット レプリケーションのサブスクライバーのみ はい (パブリック プレビュー) - 「制限事項」を参照してください
透過的なデータ暗号化 (TDE) はい - General Purpose、Business Critical、Hyperscale サービス レベルのみ。 はい
Windows 認証 いいえ はい - Azure Active Directory プリンシパルの Windows 認証に関する記事を参照してください
Windows Server フェールオーバー クラスタリング いいえ。 高可用性を提供するその他の手法は、すべてのデータベースに含まれています。 ディザスター リカバリーに関する解説は、「Azure SQL Database によるビジネス継続性の概要」を参照してください。 いいえ。 高可用性を提供するその他の手法は、すべてのデータベースに含まれています。 ディザスター リカバリーに関する解説は、「Azure SQL Database によるビジネス継続性の概要」を参照してください。

プラットフォームの機能

Azure プラットフォームには、標準のデータベース機能に追加の価値として追加される多数の PaaS 機能が用意されています。 Azure SQL Database で使用できる外部サービスは多数あります。

プラットフォーム機能 Azure SQL Database Azure SQL Managed Instance
アクティブ geo レプリケーション はい - すべてのサービス レベル。 いいえ - 代わりに自動フェールオーバー グループに関するページを参照してください。
自動フェールオーバー グループ はい - すべてのサービス レベル。 はい - 自動フェールオーバー グループに関するページを参照してください。
自動スケール はい、サーバーレス モデルでのみ。 サーバーレス モデル以外では、サービス レベルの変更 (仮想コア、ストレージ、または DTU の変更) は高速でオンラインで行われます。 サービス レベルの変更には、最小限またはゼロ ダウンタイムが必要です。 いいえ、予約済みのコンピューティングとストレージを選択する必要があります。 サービス レベル (仮想コアまたは最大ストレージ) の変更はオンラインで行われ、最小限またはゼロ ダウンタイムが必要です。
自動バックアップ はい。 完全バックアップは 7 日おき、差分は 12 時間おきに行われ、ログ バックアップは 5 分から 10 分おきに行われます。 はい。 完全バックアップは 7 日おき、差分は 12 時間おきに行われ、ログ バックアップは 5 分から 10 分おきに行われます。
自動チューニング (インデックス) はい いいえ
可用性ゾーン はい Business Critical レベル向けのみのプレビュー段階
Azure Resource Health はい いいえ
短期のバックアップ保有期間 はい。 既定値は 7 日、最大値は 35 日です。 はい。 既定値は 7 日、最大値は 35 日です。
データ移行サービス (DMS) はい はい
エラスティック ジョブ はい - 「エラスティック ジョブ (パブリック プレビュー)」を参照してください いいえ。 SQL Agent を代わりに使用できます。
ファイル システムへのアクセス いいえ。 代わりとして BULK INSERT または OPENROWSET を使用して、Azure Blob Storage のデータにアクセスし、Azure Blob Storage からデータを読み込みます。 いいえ。 代わりとして BULK INSERT または OPENROWSET を使用して、Azure Blob Storage のデータにアクセスし、Azure Blob Storage からデータを読み込みます。
geo リストア はい はい
Hyperscale アーキテクチャ はい いいえ
長期的なバックアップ保有期間 - (LTR) はい、自動的に取られたバックアップを最大 10 年間保持します。 Hyperscale データベースに対しては、長期保有ポリシーはまだサポートされていません。 はい、自動的に取られたバックアップを最大 10 年間保持します。
一時停止/再開 はい、サーバー レスモデル いいえ
ポリシーベースの管理 いいえ いいえ
パブリック IP アドレス はい。 アクセスは、ファイアウォールまたはサービス エンドポイントを使用して制限できます。 はい。 明示的に有効にする必要があり、NSG ルールでポート 3342 を有効にする必要があります。 必要に応じて、パブリック IP を無効にすることができます。 詳細については、パブリック エンドポイントに関するページを参照してください。
データベースのポイントインタイム リストア はい - すべてのサービス レベル。 SQL Database の復旧に関する記事を参照してください はい - SQL Database の復旧に関する記事を参照してください
リソース プール はい、エラスティック プールとして はい。 SQL Managed Instance の単一のインスタンスは、同じリソース プールを共有する複数のデータベースを保持できます。 さらに、リソースを共有できる インスタンス プール (パブリック プレビュー) に SQL Managed Instance の複数のインスタンスをデプロイすることもできます。
スケールアップまたはスケールダウン (オンライン) はい、最小限のダウンタイムで、DTU または予約済みの仮想コアまたは最大ストレージを変更できます。 はい、最小限のダウンタイムで予約済みの仮想コアまたは最大ストレージを変更できます。
SQL エイリアス いいえ、DNS エイリアスを使用します。 いいえ、Cliconfg を使用してクライアント マシンにエイリアスを設定します。
SQL Analytics はい はい
SQL データ同期 はい いいえ
SQL Server Analysis Services (SSAS) いいえ、Azure Analysis Services は別の Azure クラウド サービスです。 いいえ、Azure Analysis Services は別の Azure クラウド サービスです。
SQL Server Integration Services (SSIS) はい。Azure Data Factory (ADF) 環境で管理された SSIS を使用します。このパッケージは、Azure SQL Database でホストされている SSISDB に格納され、Azure SSIS Integration Runtime (IR) で実行されます。ADF での Azure-SSIS IR の作成に関するページをご覧ください。

SQL Database と SQL Managed Instance の SSIS 機能を比較するには、SQL Database と SQL Managed Instance の比較に関するセクションを参照してください。
はい。Azure Data Factory (ADF) 環境で管理された SSIS を使用します。このパッケージは、SQL Managed Instance によってホストされている SSISDB に格納され、Azure SSIS Integration Runtime (IR) で実行されます。ADF での Azure-SSIS IR の作成に関するページをご覧ください。

SQL Database と SQL Managed Instance の SSIS 機能を比較するには、SQL Database と SQL Managed Instance の比較に関するセクションを参照してください。
SQL Server Reporting Services (SSRS) いいえ - Power BI に関する記事を参照してください いいえ - 代わりに Power BI のページ分割されたレポートを使用するか、Azure VM で SSRS をホストしてください。 SQL Managed Instance では SSRS をサービスとして実行できませんが、SQL Server 認証を使用して、Azure 仮想マシンにインストールされているレポート サーバーに対して SSRS カタログ データベースをホストできます。
Query Performance Insights (QPI) はい いいえ。 SQL Server Management Studio と Azure Data Studio で組み込みのレポートを使用します。
VNet 部分的、VNet エンドポイントを使用して制限付きアクセスを有効にします はい、SQL Managed Instance は顧客の VNet に組み込まれます。 サブネットVNet を参照してください
VNet サービス エンドポイント はい はい
VNet グローバル ピアリング はい、Private IP とサービス エンドポイントを使用します。 はい。仮想ネットワーク ピアリングを使用します。
プライベート接続 はい、Private Link を使用します はい、VNet を使用します。

ツール

Azure SQL Database と Azure SQL Managed Instance では、データの管理に役立つさまざまなデータ ツールがサポートされています。

ツール Azure SQL Database Azure SQL Managed Instance
Azure portal はい はい
Azure CLI はい はい
Azure Data Studio はい はい
Azure PowerShell はい はい
BACPAC ファイル (エクスポート) はい - SQL Database のエクスポートに関する記事を参照してください はい - SQL Managed Instance のエクスポートに関する記事を参照してください
BACPAC ファイル (インポート) はい - SQL Database のインポートに関する記事を参照してください はい - SQL Managed Instance のインポートに関する記事を参照してください
Data Quality Services (DQS) いいえ いいえ
マスター データ サービス (MDS) いいえ いいえ。 Azure VM で MDS をホストします。 SQL Managed Instance では MDS をサービスとして実行できませんが、SQL Server 認証を使用して、Azure 仮想マシンにインストールされている MDS サービスに対して MDS データベースをホストできます。
SMO はい はい。バージョン 150 に関するページを参照してください
SQL Server Data Tools (SSDT) はい はい
SQL Server Management Studio (SSMS) はい はい。バージョン 18.0 以降に関するページを参照してください
SQL Server PowerShell はい はい
SQL Server Profiler いいえ - 拡張イベントに関する記事を参照してください はい
System Center Operations Manager はい はい

移行の方法

さまざまな移行方法を使用して、SQL Server、Azure SQL Database、Azure SQL Managed Instance 間でデータを移動することができます。 オンラインの手法の場合、移行中、ソースで行われた変更がすべて集められます。一方でオフラインの手法の場合、移行の進行中、ソースでデータを変更しているワークロードを停止する必要があります。

ソース Azure SQL Database Azure SQL Managed Instance
SQL Server (オンプレミス、AzureVM、Amazon RDS) オンライン:トランザクション レプリケーション
オフライン:データ移行サービス (DMS)BACPAC ファイル (インポート)、BCP
オンライン:データ移行サービス (DMS)トランザクション レプリケーション
オフライン: ネイティブ バックアップ/復元、BACPAC ファイル (インポート)、BCP、スナップショット レプリケーション
単一データベース オフライン:BACPAC ファイル (インポート)、BCP オフライン:BACPAC ファイル (インポート)、BCP
SQL Managed Instance オンライン:トランザクション レプリケーション
オフライン:BACPAC ファイル (インポート)、BCP、スナップショット レプリケーション
オンライン:トランザクション レプリケーション
オフライン: クロス インスタンスのポイントインタイム リストア (Azure PowerShell または Azure CLI)、ネイティブ バックアップ/復元BACPAC ファイル (インポート)、BCP、スナップショット レプリケーション

次のステップ

マイクロソフトは、Azure SQL Database に継続的に機能を追加します。 最新の更新プログラムについては、以下のフィルターを使用して、Azure のサービスの更新情報 Web ページを参照してください。

Azure SQL Database と Azure SQL Managed Instance の詳細については、以下を参照してください。