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

Мне нужен сценарий развертывания после виртуальной машины в 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';

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

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

1 Ответ

1 голос
/ 26 марта 2019

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

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

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

RESTORE DATABASE [$DBName] 
FROM URL = '$URL'
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...