Добавление этого в качестве ответа, так как мне не хватает представителя, чтобы комментировать.Это ответ на вопрос в комментарии к ответу на OP (если это не достаточно запутанно!)
Это применимо только тогда, когда ваша база данных sql размещена в контейнере Mac / Linux / Docker.У нас нет серверов Windows в нашем имении, чтобы я мог проверить это, чтобы узнать, не отличается ли расположение файлов .bak.
Когда вы нажимаете кнопку "...", онпросматривает / var / opt / mssql / data на компьютере (или в док-контейнере), на котором размещена база данных.Это не проблема, если вы выполняете резервное копирование и восстановление баз данных на том же хосте, однако, если вы переходите на новый сервер или просто создаете среду разработки / разработки / разработки, это становится проблемой, потому что у вас нетдоступ к var / opt / mssql / data.
Это немного кувалдой, чтобы взломать решение типа гайки, но так как я работаю с 2-мя блоками разработчика, это не имеет большого значения дляme.
Чтобы упростить понимание, я назову сервер, на котором размещена резервная копия базы данных ProdServ , и сервер, который вы восстанавливаете на DevServ .
В DevServ, в окне терминала перейдите в / var / opt и запишите текущие права доступа к каталогу mssql (мои были drwxrwx ---).
$ cd /var/opt
$ ls -la
Google восьмеричное значение для ваших разрешений (в моем случае это 770)
Измените разрешения каталога данных на rwxrwxrwx.
$ chmod -R 777 /var/opt/mssql/data
(Вам также нужно будет сделать это на ProdServесли это также на основе Unix O /s)
Скопируйте файлы .bak из ProdServ в DevServ с помощью метода, подходящего для среды, в которой вы работаете.
Windows -> Linux Я бы использовал WinSCP
Для Mac в Docker, docker cp <fileToCopy> <container>:<destinationPath>
работает отлично.
После того, как файлы будут скопированы, они волшебным образом появятся, когда вы снова нажмете кнопку «...» в Azure Data Studio.Убедитесь, что вы изменили права доступа к каталогу до их первоначального значения с помощью той же команды.Так что в моем случае просто
$ chmod -R 770 /var/opt/mssql/data
В качестве дополнительной заметки, если вы привыкли работать в MSSMS, мастер там позволяет вам создавать базу данных из файла .bak, из того, что я вижуAzure Data Studio - нет.Сначала необходимо создать базу данных (CREATE DATABASE <databasename>
) в окне запроса, а затем восстановить в ней файл .bak.