Язык программирования C#9 и платформа .NET5 - Эндрю Троелсен
Шрифт:
Интервал:
Закладка:
Docker Desktop можно загрузить по ссылке www.docker.com/get-started. Загрузите и установите подходящую версию (Windows, Mac, Linux) для своей рабочей станции (вам понадобится учетная запись DockerHub). Удостоверьтесь, что при выдаче запроса выбраны контейнеры Linux.
На заметку! Выбранный вариант контейнера (Windows или Linux) — это ОС, функционирующая внутри контейнера, а не ОС, установленная на рабочей станции.
Получение образа и запуск SQL Server 2019
Контейнеры основаны на образах, а каждый образ представляет собой многоуровневый набор, из которого образован финальный продукт. Чтобы получить образ, необходимый для запуска SQL Server 2019 в контейнере, откройте окно командной строки и введите следующую команду:
docker pull mcr.microsoft.com/mssql/server:2019-latest
После загрузки образа на машину вам понадобится запустить SQL Server, для чего ввести следующую команду (целиком в одной строке):
docker run -e "ACCEPT_EULA=Y" -e "SA_PASSWORD=P@ssw0rd"
-p 5433:1433 --name AutoLot -d mcr.microsoft.com/mssql/server:2019-latest
Предыдущая команда принимает лицензионное соглашение конечного пользователя. устанавливает пароль (в реальности будет использоваться строгий пароль), устанавливает отображение портов (порт 5433 на вашей машине отображается на стандартный порт для SQL Server в контейнере (1433)), указывает имя контейнера (AutoLot) и, наконец, информирует Docker о том, что должен применяться ранее загруженный образ.
На заметку! Это не те настройки, которые вы захотите использовать в реальной разработке. Информация о том, как изменить пароль системного администратора, и другие сведения доступны по ссылке https://docs.microsoft.com/ru-ru/sql/linux/quickstart-install-connect-docker?view=sql-server-verl5&pivots=cs1-bash.
Чтобы убедиться в том, что Docker функционирует, введите в окне командной строки команду docker ps -а. Вы увидите вывод наподобие показанного ниже (для краткости некоторые колонки опущены):
C:Usersjapik>docker ps -a
CONTAINER ID IMAGE STATUS PORTS NAMES
347475cfb823 mcr.microsoft.com/mssql/server:2019-latest Up 6 minutes 0.0.0.0:5433->1433/tcp AutoLot
Чтобы остановить контейнер, введите docker stop 34747, где цифры 34747 представляют собой первые пять символов идентификатора контейнера. Чтобы перезапустить контейнер, введите docker start 34747, не забыв обновить команду соответствующим началом идентификатора вашего контейнера.
На заметку! Вы также можете использовать с командами Docker CLI имя контейнера (AutoLot в этом примере), скажем, docker start AutoLot. Имейте в виду, что независимо от ОС команды Docker чувствительны к регистру символов.
Если вы желаете поработать с инструментальной панелью Docker, щелкните правой кнопкой мыши на значке Docker (в системном лотке) и выберите в контекстном меню пункт Dashboard (Инструментальная панель); вы должны увидеть образ, функционирующий на порте 5433. Наведите курсор мыши на имя образа и появятся команды для остановки, запуска и удаления (помимо прочих), как показано на рис. 21.2.
Установка SQL Server 2019
Вместе с Visual Studio 2019 устанавливается специальный экземпляр SQL Server (по имени (localdb)mssqllocaldb). Если вы решили не использовать SQL Server Express LocalDB (или Docker) и работаете на машине Windows, тогда можете установить SQL Server 2019 Developer Edition. Продукт SQL Server 2019 Developer Edition бесплатен и доступен для загрузки по следующей ссылке:
https://www.microsoft.com/ru-ru/sql-server/sqlserver-downloads
Имея другую версию экземпляра, вы можете применять ее в этой книге; понадобится лишь надлежащим образом изменить параметры на экране подключения.
Установка IDE-среды SQL Server
Azure Data Studio — это новая IDE-среда для использования с SQL Server. Она является бесплатной и межплатформенной, а потому будет работать под управлением Windows, Mac или Linux. Загрузить ее можно по ссылке:
https://www.microsoft.com/en-us/sql-server/sql-server-downloads
На заметку! Если вы работаете на машине Windows и отдаете предпочтение среде управления SQL Server (SQL Server Management Studio — SSMS), то можете загрузить последнюю версию по ссылке https://docs.microsoft.com/ru-ru/sql/ssms/download-sql-server-management-studio-ssms.
Подключение к SQL Server
После установки Azure Data Studio или SSMS настало время подключиться к экземпляру СУБД. В последующих разделах описано подключение к SQL Server в контейнере Docker или LocalDb. Если вы используете другой экземпляр SQL Server, тогда соответствующим образом обновите строку подключения.
Подключение к 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