Пользовательский сценарий Azure для восстановления базы данных из хранилища BLOB-объектов в управляемый экземпляр

Мне нужен сценарий развертывания виртуальной машины на PS для восстановления файла .BAK, находящегося в хранилище BLOB-объектов, в управляемый экземпляр Azure. Я могу сделать это вручную с помощью SMSS, но я получаю следующую ошибку при попытке восстановить файл из SQL-запроса (изображение ошибки в ссылке ниже, потому что у меня недостаточно репутации для публикации изображений)

Запрос, который я выполняю:

CREATE CREDENTIAL blobstorage
WITH IDENTITY = 'SHARED ACCESS SIGNATURE',
SECRET = '$StrgAccSAS';

RESTORE DATABASE [$DBName] 
FROM URL = '$URL'
WITH CREDENTIAL 'blobstorage';

Запрошенные параметры правильно передаются при выполнении скрипта.

Ошибка восстановления


person Juani Condina    schedule 18.03.2019    source источник


Ответы (1)


Когда создание учетных данных с SHARED ACCESS SIGNATURE, которые вы должны:

  • назовите учетные данные так же, как путь к контейнеру
  • он должен начинаться с https
  • он не может содержать косую черту в конце

Сделав это, вы НЕ (и не можете в Управляемых экземплярах) использовать параметр WITH CREDENTIAL. SQL будет использовать настроенные вами учетные данные, соответствующие URL-адресу, с которого вы восстанавливаете:

RESTORE DATABASE [$DBName] 
FROM URL = '$URL'
person PatrickSteele    schedule 25.03.2019