Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Azure Database Migration Service предоставляет следующие возможности:
Надежная, устойчивая и отказоустойчивая служба, которая управляет действиями перемещения данных для обеспечения простой миграции.
Возможность работы в онлайн режиме (для миграций, требующих минимального простоя) или в оффлайн режиме (для миграций, где время простоя сохраняется в течение всей миграции) в соответствии с потребностями вашего бизнеса.
Гибкость создания и настройки локальной среды выполнения интеграции для предоставления собственных вычислительных ресурсов для доступа к исходному SQL Server и резервным копиям в локальной среде.
С помощью таких средств автоматизации, как PowerShell — модуль службы Azure DataMigration илиAzure CLI, можно перенести одну или несколько баз данных в масштабе, включая базы данных в нескольких экземплярах SQL Server.
Следующие примеры скриптов можно использовать для сценариев миграции с помощью Azure PowerShell или Azure CLI.
| Сценарий миграции | Язык сценария |
|---|---|
| Оценка SQL Server | Powershell / Azure CLI |
| SQL Server в управляемый экземпляр Azure SQL (с использованием общей папки) | Powershell / Azure CLI |
| SQL Server в Управляемый экземпляр Azure SQL (с использованием Azure Storage) | Powershell / Azure CLI |
| SQL Server на SQL Server в виртуальных машинах Azure (через общий ресурс) | Powershell / Azure CLI |
| SQL Server на SQL Server на Azure Виртуальные машины (используя Azure Storage) | Powershell / Azure CLI |
| SQL Server в базу данных SQL Azure | Powershell / Azure CLI |
| Рекомендации по номеру SKU | Powershell / Azure CLI |
| Сквозная автоматизация миграции | Powershell / Azure CLI |
| Сквозная автоматизация миграции для нескольких баз данных | Powershell / Azure CLI |
Предварительные требования
Предварительные требования, распространенные во всех поддерживаемых сценариях миграции с помощью Azure PowerShell или Azure CLI:
У вас есть учетная запись Azure, назначенная одной из встроенных ролей, перечисленных ниже.
Участник с правами на целевую службу, такой как Управляемый экземпляр SQL Azure, SQL Server на виртуальных машинах Azure, или база данных Azure SQL, а также аккаунт хранилища для загрузки файлов резервной копии базы данных с сетевого ресурса SMB (не применяется к базе данных Azure SQL).
Роль читателя для групп ресурсов Azure, содержащих целевые Управляемый экземпляр Azure SQL, SQL Server на виртуальных машинах Azure, или базу данных SQL Azure.
Роль владельца или соавтора подписки Azure.
Учетная запись Azure требуется только при выполнении шагов миграции и не требуется для оценки или процесса рекомендаций Azure.
Создайте целевой управляемый экземпляр SQL Azure, SQL Server на виртуальной машине Azure или Базу данных SQL Azure.
Если целевой объект — База данных SQL Azure, необходимо перенести схему базы данных из источника в целевой объект с помощью расширения "Приложения уровня данных" или расширения "Проекты баз данных SQL " для Visual Studio Code.
Если у вас есть существующая виртуальная машина Azure, она должна быть зарегистрирована с использованием расширения агента IaaS SQL Server в полном режиме управления.
Если целевой объект — Управляемый экземпляр SQL Azure или SQL Server на виртуальной машине Azure, убедитесь, что имена входа, используемые для подключения к исходному SQL Server, являются членами роли сервера sysadmin или имеют
CONTROL SERVERразрешение.Если целевой объект База данных SQL Azure, убедитесь, что имя входа, используемое для подключения к исходному SQL Server, является членом, а
db_datareaderимя входа для целевого SQL Server —db_ownerИспользуйте один из следующих вариантов хранения для файлов резервной копии базы данных и журналов транзакций:
SMB-сетевой ресурс
Общий файловый ресурс учетной записи хранения Azure или контейнер blob
Если файлы резервной копии базы данных предоставлены в общей сетевой папке SMB, создайте учетную запись хранения Azure, которая позволит службе DMS передать файлы резервной копии базы данных. Убедитесь, что учетная запись хранилища Azure создана в том же регионе, что и экземпляр Службы миграции баз данных Azure.
Убедитесь, что контейнер BLOB-объектов в учетной записи хранения Azure используется исключительно для хранения только файлов резервных копий. Любые другие типы файлов (
.txt,.png,.jpgи т. д.) препятствуют процессу восстановления, что приводит к сбою.Служба Azure Database Migration Service не инициирует никаких резервных копий и вместо этого использует существующие резервные копии, которые уже могут быть в рамках плана аварийного восстановления для миграции.
Каждая резервная копия может быть записана либо в отдельный файл, либо в несколько файлов резервных копий. Однако добавление нескольких резервных копий (то есть полное и t-log) в один носитель резервного копирования не поддерживается.
Чтобы снизить вероятность возникновения потенциальных проблем, связанных с миграцией больших объемов резервных копий, можно использовать сжатые резервные копии.
Убедитесь, что учетная запись службы, от имени которой выполняется исходный экземпляр SQL Server, имеет разрешения на чтение и запись для этой сетевой папки SMB, содержащей файлы резервной копии базы данных.
Исходный сертификат экземпляра SQL Server из базы данных, защищенной прозрачным шифрованием данных (TDE), необходимо перенести в целевой управляемый экземпляр SQL Azure или SQL Server на виртуальной машине Azure перед переносом данных.
Совет
Если база данных содержит конфиденциальные данные, защищенные Always Encrypted, процесс миграции автоматически переносит ключи Always Encrypted в целевой управляемый экземпляр SQL Azure или SQL Server на виртуальной машине Azure.
Если резервные копии базы данных находятся в сетевой общей папке, предоставьте компьютер для установки локальной среды выполнения интеграции для доступа к резервным копиям базы данных и их переноса. Модули Azure PowerShell или Azure CLI предоставляют ключи проверки подлинности для регистрации локальной среды выполнения интеграции. При подготовке к миграции убедитесь, что на компьютере, где планируется установить локальную среду выполнения интеграции, включены следующие правила брандмауэра для исходящего трафика и доменные имена.
Доменные имена Исходящие порты Описание Общедоступное облако: {datafactory}.{region}.datafactory.azure.net
или*.frontend.clouddatahub.net
Azure для государственных организаций:{datafactory}.{region}.datafactory.azure.us
Китай:{datafactory}.{region}.datafactory.azure.cn443 Требуется локальной среде выполнения интеграции для подключения к службе переноса данных.
Для новой фабрики данных в общедоступном облаке извлеките полное доменное имя из ключа локальной среды выполнения интеграции, который находится в формате{datafactory}.{region}.datafactory.azure.net. Для старого экземпляра Data Factory, если полное доменное имя не отображается в вашем ключе самозахватывающей интеграции, используйте *.frontend.clouddatahub.net.download.microsoft.com443 Требуется локальной среде выполнения интеграции для скачивания обновлений. Если вы отключили автоматическое обновление, можно пропустить настройку этого домена. *.core.windows.net443 Используется автономной локальной средой выполнения интеграции, которая подключается к учетной записи хранилища Azure для выгрузки резервных копий базы данных из сетевого ресурса. Если файлы резервной копии базы данных уже предоставлены в учетной записи хранения Azure, локальная среда выполнения интеграции не требуется во время миграции.
При использовании локальной среды выполнения интеграции убедитесь, что компьютер, на котором установлена среда выполнения, может подключиться к исходному экземпляру SQL Server и сетевому общей папке, в которой находятся файлы резервного копирования.
Исходящий порт 445 должен быть включен для доступа к сетевой общей папке.
Если вы используете Azure Database Migration Service в первый раз, убедитесь, что в вашей подписке зарегистрирован поставщик ресурсов Microsoft.DataMigration. Выполните действия по регистрации поставщика ресурсов.
Если целевой объект миграции База данных SQL Azure, для выполнения этой миграции не требуется резервное копирование. Миграция в базу данных SQL Azure считается логической миграцией с участием предварительного создания базы данных и перемещения данных (выполняется DMS).
Автоматизация миграции баз данных
С помощью Azure PowerShell Az.DataMigration или Azure CLI az datamigration можно перенести базы данных, автоматизовав создание Azure Database Migration Service, настройку миграции баз данных для миграции через Интернет и выполнение переключения. Существует несколько других команд и функций, которые описаны в примерах Azure.
Примеры автоматизации миграции базы данных SQL Server с помощью Azure CLI:
Шаг 1. Создание Azure Database Migration Service, которое будет управлять действиями миграции базы данных.
#STEP 1: Create Database Migration Service
az datamigration sql-service create --resource-group "myRG" --sql-migration-service-name "myMigrationService" --location "EastUS2"
Шаг 2. Настройка и запуск миграции из локальной базы данных SQL Server (с резервными копиями в хранилище Azure) в Управляемый экземпляр SQL Azure.
#STEP 2: Start Migration
az datamigration sql-managed-instance create `
--source-location '{\"AzureBlob\":{\"storageAccountResourceId\":\"/subscriptions/mySubscriptionID/resourceGroups/myRG/providers/Microsoft.Storage/storageAccounts/dbbackupssqlbits\",\"accountKey\":\"myAccountKey\",\"blobContainerName\":\"dbbackups\"}}' `
--migration-service "/subscriptions/mySubscriptionID/resourceGroups/myRG/providers/Microsoft.DataMigration/SqlMigrationServices/myMigrationService" `
--scope "/subscriptions/mySubscriptionID/resourceGroups/myRG/providers/Microsoft.Sql/managedInstances/mySQLMI" `
--source-database-name "AdventureWorks2008" `
--source-sql-connection authentication="SqlAuthentication" data-source="mySQLServer" password="<password>" user-name="sqluser" `
--target-db-name "AdventureWorks2008" `
--resource-group myRG `
--managed-instance-name mySQLMI
Шаг 3. Выполните переход на миграцию после восстановления всех резервных копий в Управляемый экземпляр SQL Azure.
#STEP 3: Get migration ID and perform Cutover
$migOpId = az datamigration sql-managed-instance show --managed-instance-name "mySQLMI" --resource-group "myRG" --target-db-name "AdventureWorks2008" --expand=MigrationStatusDetails --query "properties.migrationOperationId"
az datamigration sql-managed-instance cutover --managed-instance-name "mySQLMI" --resource-group "myRG" --target-db-name "AdventureWorks2008" --migration-operation-id $migOpId
Если вы получите ошибку The subscription is not registered to use namespace 'Microsoft.DataMigration'. See https://aka.ms/rps-not-found for how to register subscriptions., выполните следующую команду:
Register-AzResourceProvider -ProviderNamespace "Microsoft.DataMigration"