Импорт или экспорт База данных SQL Azure с помощью приватного канала

Применимо к: База данных SQL Azure

В этой статье объясняется, как импортировать или экспортировать База данных SQL Azure с помощью Приватный канал с помощью портал Azure или Azure PowerShell с параметром "Разрешить доступ к службам Azure", установленным значение OFF на логическом сервере SQL Azure.

При выполнении импорта или экспорта необходимо задать значение "Разрешить доступ к службам Azure" значение ON, в противном случае операция импорта или экспорта завершается ошибкой. Часто пользователи хотят выполнять импорт или экспорт с помощью частной конечной точки, не требуя доступа ко всем службам Azure.

Примечание.

Импорт и экспорт с помощью приватного канала для База данных SQL Azure в настоящее время находится в предварительной версии.

Приватный канал импорта и экспорта базы данных — это частная конечная точка, управляемая службой, созданная корпорацией Майкрософт и используемая исключительно для обмена данными в процессе импорта и экспорта базы данных, а также Базой данных SQL Azure и связанными службами хранилища Azure. Управляемая службой частная конечная точка — это частный IP-адрес в определенной виртуальной сети и подсети.

Частная конечная точка должна быть утверждена вручную для логического сервера SQL Azure и хранилища BLOB-объектов Azure в отдельных шагах с подробными сведениями, включенными в это руководство.

Схема архитектуры приватного канала импорта.

Приватный канал импорта и экспорта можно настроить с помощью портал Azure, PowerShell или с помощью REST API.

  1. Перейдите на страницу обзора логического сервера SQL Azure, в который вы хотите импортировать базу данных. Выберите "Импорт базы данных " на панели инструментов.
  2. На странице "Импорт базы данных" установите флажок "Использовать приватный канал". Снимок экрана: портал Azure, в котором показано, как включить приватный канал импорта.
  3. Введите учетную запись хранения, учетные данные проверки подлинности, сведения о базе данных и нажмите кнопку "ОК".
  1. Перейдите на страницу обзора базы данных SQL Azure, которую вы хотите экспортировать. Выберите " Экспорт" на панели инструментов.
  2. На странице "Экспорт базы данных" установите флажок "Использовать приватный канал". Снимок экрана: портал Azure, в котором показано, как включить Приватный канал экспорта.
  3. Введите учетную запись хранения, учетные данные проверки подлинности, сведения о базе данных и нажмите кнопку "ОК".

Новая частная конечная точка должна быть утверждена пользователем в Центре Приватный канал или в База данных SQL Azure.

  1. Перейдите в центр Приватный канал в портал Azure. В поле поиска Azure найдите "Приватный канал".
  2. Перейдите на страницу частных конечных точек центра Приватный канал.
  3. Утверждение частных конечных точек, созданных с помощью службы импорта и экспорта.

Вариант 2. Утверждение подключения к частной конечной точке в База данных SQL Azure в портал Azure

  1. Перейдите на логический сервер SQL Azure, на котором размещена база данных.

  2. Перейдите на страницу "Сеть" в разделе "Безопасность"

  3. Выберите вкладку "Закрытый доступ ".

  4. Выберите частную конечную точку, которую вы хотите утвердить.

  5. Выберите " Утвердить", чтобы утвердить подключение.

    Снимок экрана: портал Azure, в котором показано, как утвердить База данных SQL Azure Приватный канал.

3. Утверждение подключения к частной конечной точке в служба хранилища Azure

Утверждение нового подключения к частной конечной точке для импорта BACPAC-файла базы данных в служба хранилища Azure.

  1. Перейдите к учетной записи хранения, в которой размещен контейнер BLOB-объектов, в котором существует BACPAC-файл.bacpac.
  2. Откройте страницу подключений к частной конечной точке в меню "Безопасность".
  3. Выберите частную конечную точку для службы импорта и экспорта.
  4. Выберите " Утвердить", чтобы утвердить подключение.

Снимок экрана: портал Azure, в котором показано, как утвердить служба хранилища Azure Приватный канал в служба хранилища Azure.

4. Проверка состояния импорта и экспорта

  1. После утверждения частных конечных точек в azure SQL Server и учетной записи служба хранилища Azure задание импорта или экспорта базы данных будет запускаться. До тех пор задания будут приостановлены.
  2. Вы можете проверить состояние заданий импорта или экспорта базы данных на странице журнала импорта и экспорта в разделе Управление данными на странице sql Server Azure. Снимок экрана: портал Azure, в котором показано, как проверить состояние импорта заданий экспорта.

Используйте командлет New-AzSqlDatabaseImport, чтобы отправить запрос на импорт базы данных в Azure. В зависимости от размера базы данных импорт может занять некоторое время. Модель подготовки на основе DTU поддерживает выбор значений максимального размера базы данных для каждого уровня. При импорте базы данных используйте одно из этих поддерживаемых значений.

$importRequest = New-AzSqlDatabaseImport -ResourceGroupName "<resourceGroupName>" `
        -ServerName "<serverName>" -DatabaseName "<databaseName>" `
        -DatabaseMaxSizeBytes "<databaseSizeInBytes>" -StorageKeyType "StorageAccessKey" `
        -StorageKey $(Get-AzStorageAccountKey -ResourceGroupName $resourceGroupName `
                        -StorageAccountName "<storageAccountName>").Value[0]
        -StorageUri "https://myStorageAccount.blob.core.windows.net/importsample/sample.bacpac" `
        -Edition "Standard" -ServiceObjectiveName "P6" ` -UseNetworkIsolation $true `
        -StorageAccountResourceIdForPrivateLink "/subscriptions/<subscriptionId>/resourcegroups/<resource_group_name>/providers/Microsoft.Storage/storageAccounts/<storage_account_name>" `
         -SqlServerResourceIdForPrivateLink "/subscriptions/<subscriptionId>/resourceGroups/<resource_group_name>/providers/Microsoft.Sql/servers/<server_name>" `
        -AdministratorLogin "<userID>" `
        -AdministratorLoginPassword $(ConvertTo-SecureString -String "<password>" -AsPlainText -Force)

Используйте командлет New-AzRmSqlDatabaseExport, чтобы отправить запрос на экспорт базы данных в службу «База данных SQL Azure». В зависимости от размера базы данных операция экспорта может занять некоторое время.

$exportRequest = New-AzSqlDatabaseExport -ResourceGroupName "<resourceGroupName>" `
        -ServerName "<serverName>" -DatabaseName "<databaseName>" `
        -StorageKeyType "StorageAccessKey" `
        -StorageKey $(Get-AzStorageAccountKey -ResourceGroupName $resourceGroupName `
                        -StorageAccountName "<storageAccountName>").Value[0]
        -StorageUri "https://myStorageAccount.blob.core.windows.net/importsample/sample.bacpac" `
        -UseNetworkIsolation $true `
        -StorageAccountResourceIdForPrivateLink "/subscriptions/<subscriptionId>/resourcegroups/<resource_group_name>/providers/Microsoft.Storage/storageAccounts/<storage_account_name>" `
         -SqlServerResourceIdForPrivateLink "/subscriptions/<subscriptionId>/resourceGroups/<resource_group_name>/providers/Microsoft.Sql/servers/<server_name>" `
        -AdministratorLogin "<userID>" `
        -AdministratorLoginPassword $(ConvertTo-SecureString -String "<password>" -AsPlainText -Force)

Существующие API для выполнения заданий импорта и экспорта были оптимизированы путем включения поддержки Приватного канала. Ознакомьтесь с API импорта базы данных.

Ограничения

В настоящее время приватный канал для импорта и экспорта имеет следующие ограничения:

  • Чтобы использовать Приватный канал с импортом и экспортом, пользовательская база данных и контейнер больших двоичных объектов служба хранилища Azure должны размещаться в том же типе Облака Azure. Например, в Azure для коммерческих или государственных организаций. Размещение в разных типах облаков не поддерживается.

  • Импорт или экспорт базы данных из Управляемый экземпляр SQL Azure с помощью PowerShell в настоящее время не поддерживается.

  • Импорт и экспорт Приватный канал не следует использовать, если пользовательская база данных или учетная запись служба хранилища Azure защищены блокировками ресурсов.

  • Для выполнения операции экспорта требуется ручное утверждение нового подключения к частной конечной точке. После запуска экспорта перейдите в раздел "Ожидающие подключения" в Центре Приватный канал и утверждайте подключения, которые могут занять несколько минут.

  • Импорт с помощью Приватного канала не позволяет определять уровень избыточности хранилища резервных копий при создании новой базы данных. Избыточность геоизбыточного хранилища резервных копий определяется по умолчанию. В качестве обходного решения сначала создайте пустую базу данных с требуемой избыточностью хранилища резервных копий с помощью портал Azure или PowerShell, а затем импортируйте BACPAC-файл в эту пустую базу данных.

  • Импорт с помощью REST API с приватным каналом можно выполнить только для существующей базы данных, так как API использует расширения базы данных. В качестве обходного решения создайте пустую базу данных с нужным именем, а затем вызовите REST API импорта с приватным каналом.