#sql-server #docker
#sql-сервер #docker
Вопрос:
на QNAP я установил контейнер Docker для запуска SQL-Server 2019 в Linux. Я могу запустить SQL-сервер и подключиться с помощью Management Studio.
Но теперь я хочу импортировать существующую базу данных с хоста, что невозможно сделать, потому что при попытке восстановить базу данных я не могу перейти в папку резервной копии хоста. Диалоговое окно открытия файла остается в /var/opt/mssql/data, который является папкой для SQL-данных в контейнере.
Теперь мне нужно смонтировать общую папку для контейнера и хоста.
Есть несколько руководств и видеороликов, Но docker world с bin / bash и т. Д. Мне Совсем не знакомы, Поэтому я не могу пройти через это.
Кто-нибудь может дать мне фиктивное объяснение, что делать и КАК делать??
В docker я могу просто открыть «terminal», но тогда я теряюсь. Большое спасибо.
Комментарии:
1. Можете ли вы предоставить доступ к файлам резервных копий через общий ресурс SMB / CIFS? РЕЗЕРВНОЕ КОПИРОВАНИЕ НА ДИСК и ВОССТАНОВЛЕНИЕ С ДИСКА поддерживают UNC-пути.
2. Нет, это моя проблема. Файл .bak все еще находится в видимой папке на NAS, и, открыв программу восстановления в SSMS, я не могу «оставить» файловую структуру /var / opt/ mssql/data, которая находится внутри контейнера. Поэтому я хочу создать общую папку для хранения .bak, а затем получить доступ к этой папке через SSMS и импортировать оттуда базу данных. Но я нашел другой способ сделать это (почти): я использовал export wizzard, который создавал таблицы с данными, но не создавал первичные ключи. Мне нужно установить их вручную.
3. Наконец, я решил проблему переноса из существующей базы данных в docker на NAS через SSMS. Возможно, это было неправильное мышление, или я попробовал это так, как я обычно переношу базу данных на другую машину (с помощью .bak-файла), но я мог подключиться к SQL-серверу, работающему на NAS, и к серверу, работающему на моей машине. Итак, я просто экспортировал данные из одного в другой.