Литмир - Электронная Библиотека
A
A

Подключение к SQL Server в контейнере Docker

Чтобы подключиться к экземпляру SQL Server, функционирующему в контейнере Docker, сначала убедитесь, что он запущен и работает. Затем щелкните на элементе Create a connection (Создать подключение) в Azure Data Studio (рис. 21.3).

Язык программирования C#9 и платформа .NET5 - _147.png

В диалоговом окне Connection Details (Детали подключения) введите

.,5433
в поле Server (Сервер). Точка задает текущий хост, а
,5433
— это порт, который вы указывали при создании экземпляра SQL Server в контейнере Docker. Введите
sa
в поле User name (Имя пользователя); пароль остается тем же самым, который вводился при создании экземпляра SQL Server. Имя в поле Name (Имя) является необязательным, но оно позволяет быстро выбирать данное подключение в последующих сеансах Azure Data Studio. Упомянутые параметры подключения показаны на рис. 21.4.

Язык программирования C#9 и платформа .NET5 - _148.png

Подключение к SQL Server LocalDb

Чтобы подключиться к версии SQL Server Express LocalDb, установленной вместе с Visual Studio, приведите информацию о подключении в соответствие с показанной на рис. 21.5.

Язык программирования C#9 и платформа .NET5 - _149.png

При подключении к 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

Структура пути должна соответствовать ОС контейнера (в данном случае 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).

Язык программирования C#9 и платформа .NET5 - _150.png

Восстановление базы данных в экземпляр SQL Server (Windows)

Оставив в раскрывающемся списке Backup media type выбранным вариант File, щелкните на кнопке Add, перейдите к файлу

AutoLotWindows.bak
и щелкните на кнопке ОК. Возвратившись в главное диалоговое окно восстановления, щелкните на кнопке ОК (рис. 21.7).

Язык программирования C#9 и платформа .NET5 - _151.png

Восстановление базы данных с помощью Azure Data Studio

 Чтобы восстановить базу данных с использованием Azure Data Studio, выберите в области Tasks (Задачи) вариант Restore (Восстановить). Укажите в раскрывающемся списке Restore from (Восстановить из) вариант Backup file (Файл резервной копии) и затем выберите только что скопированный файл. Целевая база данных и связанные поля заполнятся автоматически, как показано на рис. 21.8.

Язык программирования C#9 и платформа .NET5 - _152.png

На заметку! Процесс восстановления версии Windows резервной копии посредством Azure Data Studio аналогичен. Понадобится просто скорректировать имя файла и пути.

Создание базы данных AutoLot

Весь этот раздел посвящен созданию базы данных

AutoLot
с применением Azure Data Studio. Если вы используете SSMS, то можете выполнить описанные здесь шаги, применяя либо приведенные SQL-сценарии, либо инструменты с графическим пользовательским интерфейсом. Если вы восстановили резервную копию, тогда переходите сразу в раздел "Модель фабрики поставщиков данных ADO.NET".

На заметку! Все файлы сценариев находятся в подпапке по имени

Scripts
внутри папки
Chapter_21
хранилища GitHub для данной книги.

384
{"b":"847442","o":1}