チュートリアル:Azure Resource Manager テンプレートを使用して SQL BACPAC ファイルをインポートするTutorial: Import SQL BACPAC files with Azure Resource Manager templates

Azure SQL Database 拡張機能を使用して Azure Resource Manager テンプレートで BACPAC ファイルをインポートする方法について説明します。Learn how to use Azure SQL Database extensions to import a BACPAC file with Azure Resource Manager templates. デプロイの成果物は、メイン テンプレート ファイルに加え、デプロイを完了するために必要なすべてのファイルです。Deployment artifacts are any files, in addition to the main template file that are needed to complete a deployment. BACPAC ファイルは成果物です。The BACPAC file is an artifact. このチュートリアルでは、テンプレートを作成して Azure SQL サーバー、SQL データベースをデプロイし、BACPAC ファイルをインポートします。In this tutorial, you create a template to deploy an Azure SQL Server, a SQL Database, and import a BACPAC file. Azure Resource Manager テンプレートを使用して Azure 仮想マシン拡張機能をデプロイする方法については、「チュートリアル:Azure Resource Manager テンプレートを使用して仮想マシン拡張機能をデプロイする」を参照してください。For information about deploying Azure virtual machine extensions using Azure Resource Manager templates, see # Tutorial: Deploy virtual machine extensions with Azure Resource Manager templates.

このチュートリアルに含まれるタスクは次のとおりです。This tutorial covers the following tasks:

  • BACPAC ファイルを準備するPrepare a BACPAC file
  • クイック スタート テンプレートを開くOpen a Quickstart template
  • テンプレートの編集Edit the template
  • テンプレートのデプロイDeploy the template
  • デプロイを検証するVerify the deployment

Azure サブスクリプションをお持ちでない場合は、開始する前に無料アカウントを作成してください。If you don't have an Azure subscription, create a free account before you begin.

前提条件Prerequisites

この記事を完了するには、以下が必要です。To complete this article, you need:

BACPAC ファイルを準備するPrepare a BACPAC file

BACPAC ファイルは、パブリック アクセスが有効な Azure ストレージ アカウントで共有されます。A BACPAC file is shared on an Azure Storage account with the public access. 独自のものを作成するには、「Azure SQL データベースを BACPAC ファイルにエクスポートする」を参照してください。To create your own, see Export an Azure SQL database to a BACPAC file. ファイルを独自の場所に発行する場合は、チュートリアルの後半でテンプレートを更新する必要があります。If you choose to publish the file to your own location, you must update the template later in the tutorial.

クイック スタート テンプレートを開くOpen a Quickstart template

このチュートリアルで使用されているテンプレートは、Azure Storage アカウントに保存されています。The template used in this tutorial is stored in an Azure Storage account.

  1. Visual Studio Code から、[ファイル]>[ファイルを開く] を選択します。From Visual Studio Code, select File>Open File.

  2. [ファイル名] に以下の URL を貼り付けます。In File name, paste the following URL:

    https://armtutorials.blob.core.windows.net/createsql/azuredeploy.json
    
  3. [開く] を選択して、ファイルを開きます。Select Open to open the file.

    テンプレートで定義されている 3 つのリソースがあります。There are three resources defined in the template:

  4. [ファイル]>[Save As](名前を付けて保存) を選択し、このファイルのコピーを azuredeploy.json という名前でローカル コンピューターに保存します。Select File>Save As to save a copy of the file to your local computer with the name azuredeploy.json.

テンプレートの編集Edit the template

テンプレートには 2 つのリソースをさらに追加します。Add two additional resources to the template.

  • SQL データベース拡張機能を使用して BACPAC ファイルをインポートできるようにするには、Azure サービスへのアクセスを許可する必要があります。To allow the SQL database extension to import BACPAC files, you need to allow access to Azure services. 次の JSON を SQL サーバー定義に追加します。Add the following JSON to the SQL server definition:

    {
        "type": "firewallrules",
        "name": "AllowAllAzureIps",
        "location": "[parameters('location')]",
        "apiVersion": "2015-05-01-preview",
        "dependsOn": [
            "[variables('databaseServerName')]"
        ],
        "properties": {
            "startIpAddress": "0.0.0.0",
            "endIpAddress": "0.0.0.0"
        }
    }
    

    テンプレートは次のようになります。The template shall look like:

    Azure Resource Manager による SQL 拡張機能 BACPAC のデプロイ

  • 次の JSON を使用して、SQL データベース拡張機能リソースをデータベース定義に追加します。Add a SQL Database extension resource to the database definition with the following JSON:

    "resources": [
        {
            "name": "Import",
            "type": "extensions",
            "apiVersion": "2014-04-01",
            "dependsOn": [
                "[resourceId('Microsoft.Sql/servers/databases', variables('databaseServerName'), variables('databaseName'))]"
            ],
            "properties": {
                "storageKeyType": "SharedAccessKey",
                "storageKey": "?",
                "storageUri": "https://armtutorials.blob.core.windows.net/sqlextensionbacpac/SQLDatabaseExtension.bacpac",
                "administratorLogin": "[variables('databaseServerAdminLogin')]",
                "administratorLoginPassword": "[variables('databaseServerAdminLoginPassword')]",
                "operationMode": "Import",
            }
        }
    ]
    

    テンプレートは次のようになります。The template shall look like:

    Azure Resource Manager による SQL 拡張機能 BACPAC のデプロイ

    リソース定義を理解するには、SQL Database 拡張機能のリファレンスに関するページを参照してください。To understand the resource definition, see the SQL Database extension reference. 以下にいくつかの重要な要素を示します。The following are some important elements:

    • dependsOn:拡張機能リソースは、SQL データベースが作成された後に作成される必要があります。dependsOn: The extension resource must be created after the SQL database has been created.
    • storageKeyType:使用するストレージ キーの種類。storageKeyType: The type of the storage key to use. 値は StorageAccessKeySharedAccessKey のいずれかにできます。The value can be either StorageAccessKey or SharedAccessKey. 提供される BACPAC ファイルはパブリック アクセスが有効な Azure ストレージ アカウントで共有されるため、ここでは "SharedAccessKey" が使用されます。Because the provided BACPAC file is shared on an Azure Storage account with public access, `SharedAccessKey' is used here.
    • storageKey:使用するストレージ キー。storageKey: The storage key to use. ストレージ キーの種類が SharedAccessKey の場合は、前に "?" が付いている必要があります。If storage key type is SharedAccessKey, it must be preceded with a "?."
    • storageUri:使用するストレージ URI。storageUri: The storage uri to use. 提供される BACPAC ファイルを使用しない場合は、値を更新する必要があります。If you choose not to use the BACPAC file provided, you need to update the values.
    • administratorLoginPassword:SQL 管理者のパスワード。administratorLoginPassword: The password of the SQL administrator. 生成されたパスワードを使用します。Use a generated password. 前提条件」を参照してください。See Prerequisites.

テンプレートのデプロイDeploy the template

注意

この記事は、新しい Azure PowerShell Az モジュールを使用するために更新されました。This article has been updated to use the new Azure PowerShell Az module. AzureRM モジュールはまだ使用でき、少なくとも 2020 年 12 月までは引き続きバグ修正が行われます。You can still use the AzureRM module, which will continue to receive bug fixes until at least December 2020. Az モジュールと AzureRM の互換性の詳細については、「Introducing the new Azure PowerShell Az module (新しい Azure PowerShell Az モジュールの概要)」を参照してください。To learn more about the new Az module and AzureRM compatibility, see Introducing the new Azure PowerShell Az module. Az モジュールのインストール手順については、Azure PowerShell のインストールを参照してください。For Az module installation instructions, see Install Azure PowerShell.

デプロイ手順については、「テンプレートのデプロイ」セクションを参照してください。Refer to the Deploy the template section for the deployment procedure. 代わりに次の PowerShell デプロイ スクリプトを使用します。Use the following PowerShell deployment script instead:

$resourceGroupName = Read-Host -Prompt "Enter the Resource Group name"
$location = Read-Host -Prompt "Enter the location (i.e. centralus)"
$adminUsername = Read-Host -Prompt "Enter the SQL admin username"
$adminPassword = Read-Host -Prompt "Enter the admin password" -AsSecureString

New-AzResourceGroup -Name $resourceGroupName -Location $location
New-AzResourceGroupDeployment `
    -ResourceGroupName $resourceGroupName `
    -adminUser $adminUsername `
    -adminPassword $adminPassword `
    -TemplateFile "$HOME/azuredeploy.json"

生成されたパスワードを使用します。Use a generated password. 前提条件」を参照してください。See Prerequisites.

デプロイを検証するVerify the deployment

ポータルで、新しくデプロイされたリソース グループから SQL データベースを選択します。In the portal, select the SQL database from the newly deployed resource group. [クエリ エディター (プレビュー)] を選択してから、管理者の資格情報を入力します。Select Query editor (preview), and then enter the administrator credentials. データベースにインポートされた 2 つのテーブルが表示されます。You shall see two tables imported into the database:

Azure Resource Manager による SQL 拡張機能 BACPAC のデプロイ

リソースのクリーンアップClean up resources

Azure リソースが不要になったら、リソース グループを削除して、デプロイしたリソースをクリーンアップします。When the Azure resources are no longer needed, clean up the resources you deployed by deleting the resource group.

  1. Azure portal で、左側のメニューから [リソース グループ] を選択します。From the Azure portal, select Resource group from the left menu.
  2. [名前でフィルター] フィールドに、リソース グループ名を入力します。Enter the resource group name in the Filter by name field.
  3. リソース グループ名を選択します。Select the resource group name. リソース グループ内の合計 6 つのリソースが表示されます。You shall see a total of six resources in the resource group.
  4. トップ メニューから [リソース グループの削除] を選択します。Select Delete resource group from the top menu.

次の手順Next steps

このチュートリアルでは、SQL サーバーと SQL データベースをデプロイして、BACPAC ファイルをインポートしました。In this tutorial, you deployed a SQL Server, a SQL Database, and imported a BACPAC file. BACPAC ファイルは Azure ストレージ アカウントに格納されます。The BACPAC file is stored in an Azure storage account. URL が与えられたユーザーは誰でもファイルにアクセスできます。Anybody with the URL can access the file. BACPAC ファイル (成果物) をセキュリティで保護する方法については次を参照してください。To learn how to secure the BACPAC file (artifact), see