Доступные варианты восстановления базы данных с Azure MI на локальный компьютер для конфиденциальных данных

У меня есть требование сделать резервную копию базы данных SQL, присутствующей в управляемом экземпляре Azure, и восстановить ее на локальном сервере для анализа первопричин. Это необходимо выполнять всякий раз, когда мы сталкиваемся с определенной ошибкой в ​​БД. Поскольку автоматическое резервное копирование поддерживает TDE, каковы доступные варианты восстановления базы данных на локальном компьютере?

При просмотре я натолкнулся на два варианта, но мне нужно какое-то руководство по ним.

Один из вариантов - отключить TDE в базе данных, создать резервную копию базы данных, а затем включить TDE. Но в этом варианте файл резервной копии не будет в зашифрованном формате, и, поскольку у нас есть конфиденциальные данные, это не кажется безопасным решением. Есть ли у нас варианты использования собственного шифрования для резервного копирования базы данных и восстановления на локальном компьютере?

Второй вариант получения данных - использовать файлы BACPAC. Но опять же, они тоже страдают от той же проблемы с безопасностью. Можем ли мы зашифровать файлы BACPAC при их создании и расшифровать их при загрузке на локальный сервер?

Пожалуйста, сообщите, есть ли другие альтернативы.


person PraveenDS    schedule 20.12.2019    source источник
comment
Мы не можем зашифровать файлы BACPAC при создании или загрузке. Другой способ - экспортировать файл BACPAC в хранилище BLOB-объектов , затем вы его зашифруете и расшифруете. Ссылка на Зашифровать файл dacpac / bacpac. Если нужно, могу выложить в качестве ответа.   -  person Leon Yue    schedule 26.12.2019


Ответы (1)


Большое внимание уделяется тому, что вы не сможете использовать двоичную резервную копию (команда BACKUP DATABASE) для переноса базы данных из любого предложения SQL Azure, включая управляемый экземпляр, в локальную среду. Причина в том, что программное обеспечение в базе данных SQL Azure постоянно обновляется, поэтому версия, работающая в базе данных SQL Azure (или управляемом экземпляре), всегда будет опережать версию, работающую в локальной среде.

Таким образом, хотя вы можете физически создать файл резервной копии в управляемом экземпляре и восстановить его на том же или другом управляемом экземпляре, если вы перенесете его в локальную среду, вы не сможете восстановить его до локальной версии. SQL догоняет программное обеспечение, используемое для создания резервной копии. Так что препятствий больше, чем просто проблема TDE.

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

SqlPackage /Action:Export /SourceServerName:SampleSQLServer.sample.net,1433 /SourceDatabaseName:SampleDatabase /TargetFile:"F:\Temp\SampleDatabase.bacpac"
person Alberto Morillo    schedule 21.12.2019