Руководство. Импорт BACPAC-файлов SQL с помощью шаблонов Azure Resource ManagerTutorial: Import SQL BACPAC files with Azure Resource Manager templates

Здесь приведены сведения о том, как использовать расширение Базы данных SQL Azure для импорта BACPAC-файлов SQL с помощью шаблонов Azure Resource Manager.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 Server, Базы данных SQL и импорта BACPAC-файла.In this tutorial, you create a template to deploy an Azure SQL Server, a SQL Database, and import a BACPAC file. Сведения о развертывании расширений виртуальной машины Azure с помощью шаблонов Azure Resource Manager см. в статье Руководство. Развертывание расширений виртуальной машины с помощью шаблонов 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, создайте бесплатную учетную запись 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. Сведения о создании собственного файла см. в статье Экспорт базы данных SQL Azure в 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.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.

    В шаблоне определено три ресурса:There are three resources defined in the template:

  4. Выберите Файл>Сохранить как, чтобы сохранить файл на локальный компьютер с именем 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

Добавьте в шаблон два дополнительных ресурса.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 Server: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:

    Развертывание BACPAC-файла в расширении SQL с помощью Azure Resource Manager

  • Добавьте ресурс расширения Базы данных SQL в определение базы данных с помощью следующего кода JSON: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:

    Развертывание BACPAC-файла в расширении SQL с помощью Azure Resource Manager

    Сведения об определении ресурса см. в справочнике о расширении Базы данных SQL.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. Значение может быть StorageAccessKey или SharedAccessKey.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

Примечание

Эта статья была изменена и теперь содержит сведения о новом модуле Az для Azure PowerShell.This article has been updated to use the new Azure PowerShell Az module. Вы по-прежнему можете использовать модуль AzureRM, исправления ошибок для которого будут продолжать выпускаться как минимум до декабря 2020 г.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 (Знакомство с новым модулем Az для Azure PowerShell).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. Должны отобразиться две таблицы, импортированные в базу данных:You shall see two tables imported into the database:

Развертывание BACPAC-файла в расширении SQL с помощью Azure Resource Manager

Очистка ресурсов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 в меню слева выберите Группа ресурсов.From the Azure portal, select Resource group from the left menu.
  2. В поле Filter by name (Фильтровать по имени) введите имя группы ресурсов.Enter the resource group name in the Filter by name field.
  3. Выберите имя группы ресурсов.Select the resource group name. В группе ресурсов должно появится шесть ресурсов.You shall see a total of six resources in the resource group.
  4. В главном меню выберите Удалить группу ресурсов.Select Delete resource group from the top menu.

Дополнительная информацияNext steps

В этом руководстве вы развернули SQL Server, Базу данных 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