SQL Edge での SQL Database DACPAC および BACPAC パッケージ

重要

Azure SQL Edge では、ARM64 プラットフォームがサポートされなくなりました。

Azure SQL Edge は、IoT およびエッジのデプロイ向けに最適化されたリレーショナル データベース エンジンです。 これは業界最高レベルのパフォーマンス、セキュリティ、およびクエリ処理機能を提供する、Microsoft SQL データベース エンジンの最新バージョンに基づいて構築されています。 SQL Server の業界をリードするリレーショナル データベース管理機能と共に、Azure SQL Edge では、リアルタイム分析や複雑なイベント処理のための組み込みのストリーミング機能が提供されます。

Azure SQL Edge には、SQL Database DACPAC および BACPAC パッケージを SQL Edge のデプロイ中または後にデプロイできるネイティブのメカニズムがあります。

SQL Database DACPAC および BACPAC パッケージは、MSSQL_PACKAGE 環境変数を使用して SQL Edge にデプロイできます。 環境変数は、次のいずれかを使用して構成できます。

  • DACPAC および BACPAC ファイルが格納されている、SQL コンテナー内のローカル フォルダーの場所。 このフォルダーは、マウント ポイントまたはデータ ボリューム コンテナーのいずれかを使用してホスト ボリュームにマップできます。
  • DACPAC および BACPAC ファイルにマッピングする SQL コンテナー内のローカル ファイル パス。 このファイル パスは、マウント ポイントまたはデータ ボリューム コンテナーのいずれかを使用してホスト ボリュームにマップできます。
  • DACPAC および BACPAC ファイルを含む zip ファイルにマッピングされる、SQL コンテナー内のローカル ファイル パス。 このファイル パスは、マウント ポイントまたはデータ ボリューム コンテナーのいずれかを使用してホスト ボリュームにマップできます。
  • DACPAC および BACPAC ファイルを含む zip ファイルへの Azure BLOB SAS URL。
  • DACPAC および BACPAC ファイルへの Azure BLOB SAS URL。

SQL Edge で SQL Database DAC パッケージを使用する

Azure Blob Storage と zip ファイル使用して SQL Database DAC パッケージ (*.dacpac) または BACPAC ファイル (*.bacpac) をデプロイ (またはインポート) するには、次の手順に従います。

  1. 以下で説明するいずれかのメカニズムを使用して、DAC パッケージを作成または抽出するか、BACPAC ファイルをエクスポートします。

    データベースの一部として外部ストリーミング ジョブを使用する場合は、次のことを確認してください。

    • 生成された DACPAC により、入力/出力ストリームとストリーミング ジョブに対応するすべての SQL Server オブジェクトがキャプチャされるが、ジョブは自動的に開始されない。 デプロイ後に外部ストリーミング ジョブを自動的に開始するには、次のようなジョブを再起動するデプロイ後スクリプトを追加します。

      EXEC `sys.sp_stop_streaming_job` @name = N'<JOB NAME>';
      GO
      EXEC `sys.sp_start_streaming_job` @name = N'<JOB NAME>';
      GO
      
    • 外部ストリーミング ジョブが入力または出力ストリームにアクセスするために必要な資格情報が DACPAC の一部として用意されていることを確認する。

  2. *.dacpac または *.bacpac ファイルを zip 圧縮し、Azure BLOB ストレージ アカウントにアップロードします。 Azure Blob ストレージへのファイルのアップロードの詳細については、「Azure portal を使用して BLOB をアップロード、ダウンロード、および一覧表示する」を参照してください。

  3. Azure portal を使用して、zip ファイルの共有アクセス署名を生成します。 詳細については、Shared Access Signature (SAS) を使用したアクセスの委任に関するページを参照してください。

  4. DAC パッケージの共有アクセス URI が含まれるように、SQL Edge モジュール構成を更新します。 SQL Edge モジュールを更新するには、次の手順のようにします。

    1. Azure portal で、IoT Hub のデプロイに移動します。
    2. 左側のウィンドウで、[IoT Edge] を選択します。
    3. [IoT Edge] ページで、SQL Edge モジュールがデプロイされている IoT Edge を見つけて選択します。
    4. [IoT Edge デバイス] のデバイス ページで、[Set Module]\(モジュールの設定\) を選択します。
    5. [モジュールの設定] ページで、Azure SQL Edge モジュールを選択します。
    6. [IoT Edge モジュールの更新] ペインで、[環境変数] を選択します。 MSSQL_PACKAGE 環境変数を追加し、環境変数の値として上記の手順 3 で生成した SAS URL を指定します。
    7. 更新 を選択します。
    8. [モジュールの設定] ページで、[確認と作成] を選択します。
    9. [モジュールの設定] ページで、[作成] を選択します。
  5. モジュールの更新後、パッケージ ファイルがダウンロードおよび解凍され、SQL Edge インスタンスにデプロイされます。

Azure SQL Edge コンテナーを再起動するたびに、SQL Edge によって、zip 圧縮されたファイル パッケージがダウンロードされて、変更の有無が評価されます。 DACPAC ファイルの新しいバージョンが検出された場合、変更が SQL Edge のデータベースにデプロイされます。

既知の問題

DACPAC または BACPAC のデプロイ時に、ユーザーにコマンド タイムアウトが発生し、DACPAC デプロイ操作が失敗する場合があります。 この問題が発生した場合は、SQLPackage.exe (または SQL クライアント ツール) を使用して DACPAC または BACPAC を手動で適用してください。

次のステップ