Azure SQL Database エミュレーターの概要 (プレビュー)

適用対象:Azure SQL Database

この記事では、簡単で摩擦のないモデルにおいて、アプリケーション開発プロセスの一部として、クライアント アプリケーション コードと共にデータベースとクエリの設計をローカルで検証する機能を提供する Azure SQL Database エミュレーター (プレビュー) についてご紹介します。 Azure SQL Database エミュレーターは、アプリケーション開発者とデータベースの専門家の全体的なワークフローを高速化する重要なコンポーネントです。 Azure SQL Database エミュレーターは、Azure SQL Database のローカル開発エクスペリエンスの一部として使用できます。

作業を開始するには、開発環境を設定する方法とクイックスタートを参照してください。

Azure SQL Database エミュレーターとは

Azure SQL Database エミュレーターは、開発およびテスト用のコンテナー化されたローカル データベースです。 このエミュレーターは、Azure SQL Database の忠実度の高いエミュレーターを提供するコンテナー イメージと Visual Studio Code 拡張機能を組み合わせたものです。 このコンビネーションにより、開発者は Microsoft Container Registry から Azure SQL Database エミュレーターをプルし、自分のワークステーションで実行することができるようになり、ローカルおよびオフラインの開発ワークフローを高速化できます。

この Azure SQL Database エミュレーター イメージは、ローカルまたはホストされている CI/CD パイプラインの一部として簡単に使用でき、毎回パブリック クラウド サービスにアクセスすることなく、単体テストと統合テストを行えるようにします。

Visual Studio Code 内では、開発者は Docker 拡張機能を使用した Azure SQL Database エミュレーターの既存インスタンスの一覧表示、起動、停止、ローカル ポートや永続ボリュームなどの詳細の構成、エミュレーターに関するその他すべての管理を行うことができます。

Screenshot of using the Docker extension to explore the Azure SQL Database emulator.

このローカル開発エクスペリエンスは、Windows、macOS、Linux でサポートされており、x64 および ARM64 ベースのハードウェア プラットフォームで利用できます。

検証とテストが成功したら、開発者は Visual Studio Code 内から Azure SQL Database のデータベースに SQL Database Projects を直接デプロイし、サーバーレスなどの追加機能を活用できます。

制限事項

Azure SQL Database エミュレーターの現在の実装は、Azure SQL Edge 基本イメージから派生しています。これは、クロスハードウェア プラットフォームの互換性とより小さなイメージ サイズを実現します。 つまり、Azure SQL Database パブリック サービスと比較すると、一部の特定の機能が利用できない場合があります。 たとえば、Azure SQL Database エミュレーターでは、複数の Azure SQL Database サービス レベルでサポートされているすべての機能がサポートされているわけではありません。 制限事項は次のとおりです。

  • 空間データ型
  • インメモリ OLTP でのメモリ最適化テーブル
  • HierarchyID データ型
  • フルテキスト検索
  • Microsoft Entra の統合

これらの機能の一部と互換性がないことによって影響を受ける可能性はありますが、このエミュレーターはローカルの開発とテストのための優れたツールであり、Azure SQL Database のプログラミング可能なサーフェイスの大部分をサポートしています。

今後のリリースで、機能パリティを増やし、Azure SQL Database パブリック サービスで忠実性を高める予定です。

詳細については、Azure SQL Edge に関するドキュメントを参照してください。

次の手順

Azure SQL Database のローカル開発エクスペリエンスの詳細を確認します。