Перенос баз данных с помощью собственного резервного копирования и восстановления

Завершено

Многие специалисты SQL Server рассматривают миграцию с помощью процесса резервного копирования и восстановления, чтобы быть самым простым методом миграции.

Microsoft Хранилище BLOB-объектов Azure поддерживает два типа больших двоичных объектов: блочные и страничные BLOB-объекты. Для SQL Server 2016 и более поздних версий блочные BLOB-объекты предпочтительнее. Выбор между блочных и страничных BLOB-объектов зависит от типа используемых учетных данных — подписанный URL-адрес для блочного BLOB-объекта и ключа хранилища для страничного BLOB-объекта.

Резервное копирование в блокируемый BLOB-объект предлагает такие преимущества, как безопасная авторизация, улучшенная производительность резервного копирования и поддержка более крупных резервных копий базы данных по сравнению с страничных BLOB-объектов.

Если вы решили выполнить полную резервную копию базы данных в файл, вы можете перенести локальные файлы резервного копирования на виртуальную машину Azure с помощью Azure Data Explorer или служебной программы командной строки AzCopy.

Резервное копирование и восстановление с помощью Хранилище BLOB-объектов Azure в SQL Server

Для резервного копирования на URL-адрес требуется учетная запись хранения Azure и используется служба хранилища BLOB-объектов Azure. Внутри учетной записи хранения имеются контейнеры, в которых хранятся BLOB-объекты. В отличие от пути на локальном диске, путь к файлу резервной копии выглядит примерно так https://{AccountName}.blob.core.windows.net/{ContainerName}/MyDatabase.bak. Вы можете добавить дополнительные имена папок в контейнер для упрощения идентификации резервных копий (например, FULL, DIFF, LOG).

Чтобы выполнить резервное копирование или восстановление из URL-адреса, необходимо установить проверку подлинности между экземпляром SQL Server и Azure. Помните, что внутри виртуальной машины Azure сервер SQL Server не знает, что он работает в Azure.

При создании учетных данных SQL Server у вас есть два варианта проверки подлинности:

  • Имя учетной записи хранения Azure и ключ доступа, который сохраняет резервную копию в виде страничного BLOB-объекта.
  • Подписанный URL-адрес, который сохраняет резервную копию в виде блочного BLOB-объекта. Для больших баз данных можно создать резервную копию до нескольких блочных BLOB-объектов.

Совет

Для больших баз данных рекомендуется использовать сжатые резервные копии баз данных.

Восстановление из URL-адреса выполняется так же просто, как восстановление с диска или из общей сетевой папки. В СРЕДЕ SQL Server Management Studio выберите URL-адрес из типа носителя резервного копирования в мастере. При использовании Transact-SQL вместо использования FROM DISKвы будете использовать FROM URL соответствующее расположение и имена файлов резервной копии.

Примечание.

Поддерживаются полосатые резервные наборы данных и рекомендуется для повышения производительности. Кроме того, чередуйте резервные копии, если они меньше 200 ГБ, чтобы избежать ограничения блока.

Выполните следующую инструкцию, чтобы создать резервную копию журнала транзакций.

BACKUP LOG contoso 
TO URL = 'https://myacc.blob.core.windows.net/mycontainer/contoso202003271200.trn' 

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

RESTORE DATABASE contoso 
FROM URL = 'https://myacc.blob.core.windows.net/mycontainer/contoso20200327.bak' 
WITH NORECOVERY