Шрифт:
Интервал:
Закладка:
Подключение к SQL Server в контейнере Docker
Чтобы подключиться к экземпляру SQL Server, функционирующему в контейнере Docker, сначала убедитесь, что он запущен и работает. Затем щелкните на элементе Create a connection (Создать подключение) в Azure Data Studio (рис. 21.3).
В диалоговом окне Connection Details (Детали подключения) введите .,5433 в поле Server (Сервер). Точка задает текущий хост, а ,5433 — это порт, который вы указывали при создании экземпляра SQL Server в контейнере Docker. Введите sa в поле User name (Имя пользователя); пароль остается тем же самым, который вводился при создании экземпляра SQL Server. Имя в поле Name (Имя) является необязательным, но оно позволяет быстро выбирать данное подключение в последующих сеансах Azure Data Studio. Упомянутые параметры подключения показаны на рис. 21.4.
Подключение к SQL Server LocalDb
Чтобы подключиться к версии SQL Server Express LocalDb, установленной вместе с Visual Studio, приведите информацию о подключении в соответствие с показанной на рис. 21.5.
При подключении к LocalDb вы можете использовать аутентификацию Windows, поскольку экземпляр работает на той же машине, что и Azure Data Studio, и в том же контексте безопасности, что и текущий вошедший в систему пользователь.
Подключение к любому другому экземпляру SQL Server
Если вы подключаетесь к любому другому экземпляру SQL Server, тогда соответствующим образом обновите параметры подключения.
Восстановление базы данных AutoLot из резервной копии
Вместо того чтобы создавать базу данных с нуля, вы можете воспользоваться SSMS или Azure Data Studio для восстановления одной из резервных копий, содержащихся в папке Chapter_21 хранилища GitHub для данной книги. Предлагаются две резервные копии: одна по имени AutoLotWindows.ba_ рассчитана на применение на машине Windows (LocalDb, Windows Server и т.д.) и еще одна по имени AutoLotDocker.ba_ предназначена для использования в контейнере Docker.
На заметку! GitHub по умолчанию игнорирует файлы с расширением bak. Прежде чем восстанавливать базу данных, вам придется переименовать расширение Ьа в bak.
Копирование файла резервной копии в имеющийся контейнер
Если вы работаете с SQL Server в контейнере Docker, то сначала должны скопировать файл резервной копии в контейнер. К счастью, Docker CLI предлагает механизм для взаимодействия с файловой системой контейнера. Первым делом создайте новый каталог для резервной копии с помощью следующей команды в окне командной троки на хост-машине:
docker exec -it AutoLot mkdir var/opt/mssql/backup
(window.adrunTag = window.adrunTag || []).push({v: 1, el: 'adrun-4-390', c: 4, b: 390})Структура пути должна соответствовать ОС контейнера (в данном случае Ubuntu), даже если хост-машина функционирует под управлением Windows. Затем скопируйте резервную копию с применением показанной ниже команды (укажите для местоположения файла AutoLotDocker.bak относительный или абсолютный путь на вашей локальной машине):
[Windows]
docker cp .AutoLotDocker.bak AutoLot:var/opt/mssql/backup
[Non-Windows]
docker cp ./AutoLotDocker.bak AutoLot:var/opt/mssql/backup
Обратите внимание, что исходная структура каталогов соответствует хост-машине (в этом примере Windows), тогда как цель выглядит как имя контейнера и затем путь к каталогу (в формате целевой ОС).
Восстановление базы данных с помощью SSMS
Чтобы восстановить базу данных с применением SSMS, щелкните правой кнопкой мыши на узле Databases (Базы данных) в проводнике объектов и выберите в контекстном меню пункт Restore Database (Восстановить базу данных). Укажите вариант Device (Устройство) и щелкните на символе троеточия. Откроется диалоговое окно Select Backup Device (Выбор устройства с резервной копией).
Восстановление базы данных в экземпляр SQL Server (Docker)
Оставив в раскрывающемся списке Backup media type (Тип носителя резервной копии) выбранным вариант File (Файл), щелкните на кнопке Add (Добавить), перейдите к файлу AutoLotDocker.bak в контейнере и щелкните на кнопке ОК. Возвратившись в главное диалоговое окно восстановления, щелкните на кнопке ОК (рис. 21.6).
Восстановление базы данных в экземпляр SQL Server (Windows)
Оставив в раскрывающемся списке Backup media type выбранным вариант File, щелкните на кнопке Add, перейдите к файлу AutoLotWindows.bak и щелкните на кнопке ОК. Возвратившись в главное диалоговое окно восстановления, щелкните на кнопке ОК (рис. 21.7).
Восстановление базы данных с помощью Azure Data Studio
Чтобы восстановить базу данных с использованием Azure Data Studio, выберите в области Tasks (Задачи) вариант Restore (Восстановить). Укажите в раскрывающемся списке Restore from (Восстановить из) вариант Backup file (Файл резервной копии) и затем выберите только что скопированный файл. Целевая база данных и связанные поля заполнятся автоматически, как показано на рис. 21.8.
На заметку! Процесс восстановления версии Windows резервной копии посредством Azure Data Studio аналогичен. Понадобится просто скорректировать имя файла и пути.
Создание базы данных AutoLot
Весь этот раздел посвящен созданию базы данных AutoLot с применением Azure Data Studio. Если вы используете SSMS, то можете выполнить описанные здесь шаги, применяя либо приведенные SQL-сценарии, либо инструменты с графическим пользовательским интерфейсом. Если вы восстановили резервную копию, тогда переходите сразу в раздел "Модель фабрики поставщиков данных ADO.NET".
На заметку! Все файлы сценариев находятся в подпапке по имени Scripts внутри папки Chapter_21 хранилища GitHub для данной книги.
- Понимание SQL - Мартин Грубер - Базы данных