Один хороший человек рассказал мне про Microsoft Hyper-V Server 2019, и я решил поэкспериментировать. Цель эксперимента - поднять на бесплатных версиях ПО от Microsoft сервер СУБД для разработки. По ходу эксперимента скидал шпаргалку, которой делюсь.
В основном ссылки на ПО и документацию от Microsoft буду скидывать на английском, но если вам принципиально, есть небольшой лайфхак:
Eng: https://www.microsoft.com/en-us/evalcenter/evaluate-hyper-v-server-2019
Rus: https://www.microsoft.com/ru-ru/evalcenter/evaluate-hyper-v-server-2019
Как видите, ссылка та же, просто меняем «en-us» на «ru-ru», за что огромное спасибо Microsoft, очень удобно сделали.
Буду использовать:
Windows 11
Hyper-V
Microsoft Hyper-V Server 2019
Windows Admin Center
MS SQL 2019 Dev
SQL Server Management Studio (SSMS)
Устанавливаем Hyper-V на Windows 11
Hyper-V — система аппаратной виртуализации для x64-систем на основе гипервизора.
-Почему Hyper-V?
-Честно сказать, мне надоел установленный зоопарк из VirtualBox, VMware и прочих программ для виртуализации, поэтому решил ставить то, что идет в коробке Windows. Мне для домашних экспериментов Hyper-V хватит.
На процессорах Intel встает без проблем, на AMD могут возникнуть сложности с установкой, придётся почитать статьи из разряда «Как включить виртуализацию на AMD Ryzen».
Установка Hyper-V по шагам:
Заходим в: Пуск\Параметры\Приложения\Дополнительные компоненты
Пролистываем в самый низ и нажимаем «Другие компоненты Windows».
В открывшемся окне выбираем следующие компоненты:
После установки перезагрузились и все:
Настраиваем виртуальный коммуникатор:
Я шнурок не использую, поэтому выбрал Wi-Fi:
У меня с первого раза не взлетело выпала ошибка.
Лечение:
Почитал статью https://appuals.com/error-applying-hyper-v-virtual-switch-properties/
Удалил все, что использовало виртуализацию: VMware Workstation Player, docker for windows, Hyper-V.
Перезагрузился, запустил PowerShell от Администратора и выполнил команду «netcfg -d».
Переустановил Hyper-V.
Повторно создал виртуальный коммутатор.
Качаем Microsoft Hyper-V Server 2019
Microsoft Hyper-V Server - является бесплатным продуктом, обеспечивающим виртуализацию корпоративного класса для вашего центра обработки данных и гибридного облака. Microsoft Hyper-V Server 2019 предоставляет новые и расширенные функции, которые помогут вам удовлетворить потребности в масштабируемости и производительности для ваших критически важных рабочих нагрузок.
Технология низкоуровневой оболочки Windows, Microsoft Hyper-V Server 2019, предоставляет такие же возможности, что и Microsoft Hyper-V в Windows Server 2019. Это отдельный продукт, который содержит только низкоуровневую оболочку Windows, модель драйверов Windows Server и компоненты виртуализации. Он предоставляет простое и надежное решение по виртуализации, которое повышает эффективность использования серверов и снижает затраты.
Продукт не имеет GUI, но сохраняет функционал Windows. В общем, почему не попытаться воткнуть на него MSSQL?
Важно: Первоначально я скачал русскую версию, но пожалел, что так сделал, так как начались проблемы с кодировкой.
Пример проблемы:
Я решил сэкономить время на ремонт и скачал английскую версию, но как накатить русский язык, я покажу.
Качаем тут: https://www.microsoft.com/en-us/evalcenter/evaluate-hyper-v-server-2019
У меня был скачан файл: 17763.737.190906-2324.rs5_release_svc_refresh_SERVERHYPERCORE_OEM_x64FRE_en-us_1.iso
Устанавливаем Microsoft Hyper-V Server 2019:
Запускаем ранее установленный Hyper-V и создаем виртуальную машину:
Я называл ее WIN1MSSQL2019:
Выбираю поколение 1:
Установил 8192 Мб оперативной памяти (На самом деле для домашней разработки можно установить в 2 раза меньше):
Подключение выбираю eth_wan:
Размер диска установил 150 ГБ (мне принципиально больше 100 ГБ, но можно меньше):
Выбираю скачанный образ Microsoft Hyper-V Server 2019:
Нажимаем «Готово»:
Подключаем созданную виртуальную машину:
И нажимаем «Пуск»:
Ждем запуска, далее оставляем все по умолчанию и жмем «Next»:
Нажимаем «Install now»:
Читаем и соглашаемся:
Выбираем выборочную установку для продвинутых пользователей:
Нажимаем «Next»:
Ждем пока сервер установится:
Нажимаем «Restart now» или ждем перезагрузки:
Дальше будет предложено выбрать разрешения экрана:
В загрузившемся окне будет предложено изменить пароль пользователя «Administrator». Нажимаем «Ок»:
Придумываем пароль:
Получаем подтверждение что пароль изменен, нажимаем «Ок»:
Познакомьтесь, так выглядит интерфейс установленной операционной системы:
Настройка Microsoft Hyper-V Server:
1 Указываете рабочую группу, если вас не устраивает стандартная. Меня устраивает.
2 Меняем имя сервера.
Я назвал WIN1MSSQL2019:
После изменения имени перезагружаем сервер.
Нажимаем «Yes»:
3 Добавляем локального администратора если нужно.
Так же этот пункт можно выполнить через командную консоль используя команду NET USER. Я этот пункт не делаю так как мне дополнительный пользователь не нужен.
4 Разрешаем удаленное управление, и выбираем разрешен ping сервера:
Нажимаем «Ок»:
И вводим 4, чтобы вернуться в основное меню:
5 Настраиваем автоматическое обновление.
Я выбираю ручное обновление «M»:
Нажимаем «ОК»:
6 Проверяю и устанавливаю обновления:
Выбираю «A» чтобы установить все обновления:
Ждем. После того как все скачалось, нажимаем «Yes»:
Ждем пока обновления накатятся:
7 Включаю удаленный рабочий стол:
Нажимаем «Ок»:
8 Указываем сетевые настройки:
Далее настраиваю адрес:
Вводим настройки и возвращаемся в основное меню (Мои настройки могут не совпадать с вашими):
9 Устанавливаем Дату и Время:
10 Установка телеметрии. Я пропускаю.
Пункты 11-13 используем по мере необходимости.
14 Переход в командную строку не имеет смысла, так как окно с командной строкой уже запущено.
Дальше в командной строке я отключаю файрволл (На боевой машине так делать не надо, я настраиваю "по колхозному" для дома):
netsh advfirewall set currentprofile state off
Теперь на машинке с Windows 11 запускаю PowerShell:
Пингую по имени:
ping WIN1MSSQL2019
Пингую по IP:
ping 192.168.3.111
Как видим пинг идет.
Устанавливаем Windows Admin Center
Windows Admin Center — это развертываемое клиентом браузерное приложение для управления серверами, кластерами, гиперконвергентной инфраструктурой и Windows 10 PCs. Оно поставляется без дополнительной платы помимо Windows и готово к развертыванию в производственной среде. Узнайте больше о Windows Admin Center. R39;
Этот инструмент необязателен так как все можно делать через консоль, но, если есть удобный инструмент почему его не использовать?
Качаем тут: https://www.microsoft.com/en-us/evalcenter/evaluate-windows-admin-center
Устанавливаем по принципу «Далее-Далее».
Подробно по установке читаем тут: https://docs.microsoft.com/ru-ru/windows-server/manage/windows-admin-center/deploy/install
После установки запускаем:
Нажимаем «Добавить»:
Выбираем вариант "Серверы" и нажимаем «Добавить»:
Я ввел сервер WIN1MSSQL2019.
Выбираем созданное подключение и вводим пользователя.
Нажимаем «Продолжить»:
Теперь у нас есть возможность делать все, что нам нужно в удобном интерфейсе:
Смотреть за состоянием сервера, перезагружать, настраивать брандмауэр, смотреть запущенные службы, добавлять пользователей, устанавливать обновления, устанавливать компоненты, закидывать файлы, удалять и устанавливать программы, править реестр, даже консоль у нас есть и прочие приятные инструменты.
Качаем SQL Server 2019 Developer
SQL Server 2019 Developer — это бесплатный выпуск SQL Server с полным набором функций, лицензируемый для использования в качестве базы данных для разработки и тестирования и не предназначенный для применения в рабочей среде.
Качаем тут: https://www.microsoft.com/en-us/sql-server/sql-server-downloads
Запускаем скачанный файл MS SQL Server 2019 Developer и выбираем скачать носитель:
Язык я выбрал Английский, такой же как у Microsoft Hyper-V Server 2019. Указал что мне нужен ISO и выбрал директорию для скачивания.
Нажимаем «Скачать»:
Был скачан файл: SQLServer2019-x64-ENU-Dev.iso, теперь нужно содержимое перенести на сервер Microsoft Hyper-V Server 2019.
Варианты переноса файлов:
1 Открываем скачанный iso файл и открываем содержимое настроенного ранее сервера.
В проводнике вводим: \\WIN1MSSQL2019\C$
Далее вводим логин и пароль:
На сервере создаем папку и переносим все содержимое ISO:
2 Закинуть файлы можно через Windows Admin Center:
Папки создаем через «Новая папка»:
Файлы импортируем через кнопку «Отправить»:
Устанавливаем SQL Server 2019 Developer:
Дело за малым, нужно установить SQL Server. Для начала убедимся, что на сервере не стоит SQL.
Открываем Windows Admin Center и Заходим в пункт «Установленные приложения»:
Видим, что ничего не установлено:
Заходим на сервер WIN1MSSQL2019 и в командной строке вводим директорию, в которую закинули файлы с ISO.
В моем случае:
cd C:\distr\SQLServerDev
Дальше можно узнать информацию по установке.
Для этого вводим команду:
setup.exe /help
Либо прочитать про параметры тут: https://docs.microsoft.com/en-us/sql/database-engine/install-windows/install-sql-server-from-the-command-prompt?view=sql-server-ver1
Особенно стоит обратить внимание на пункт «Feature Parameters» там описаны параметры устанавливаемых компонентов.
/FEATURES - данный ключ устанавливает компоненты.
Я буду для примера разворачивать только параметр «SQL», в свою очередь он включает в себя подчиненные параметры:
Parent feature parameter
|
Feature parameter
|
Description
|
SQL
|
|
Installs the SQL Server Database Engine, Replication, Fulltext, and Data Quality Server.
|
|
SQLEngine
|
Installs just the SQL Server Database Engine.
|
|
Replication
|
Installs the Replication component along with SQL Server Database Engine.
|
|
FullText
|
Installs the FullText component along with SQL Server Database Engine.
|
|
DQ
|
Copies the files required for completing the Data Quality Server installation. After completing SQL Server installation, you must run the DQSInstaller.exe file to complete the Data Quality Server installation. For more information, see Run DQSInstaller.exe to Complete Data Quality Server Installation. This also installs SQL Server Database Engine.
|
|
PolyBase
|
Installs PolyBase components.
|
|
PolyBaseCore
|
Starting with SQL Server 2019, pair with PolyBase to install Polybase technology that enables truly integrated querying across Oracle, Teradata, SQL Server and other relational and non-relational data using standard T-SQL statements.
|
|
PolyBaseJava
|
Starting with SQL Server 2019, pair with PolyBase to install PolyBase Java Connector that enables truly integrated querying across HDFS data using standard T-SQL statements.
|
|
AdvancedAnalytics
|
Installs SQL Server Machine Learning Services or SQL Server 2016 R Services (In-Database).
|
|
SQL_INST_MR
|
Applies to SQL Server Machine Learning Services (2017 or later) and SQL Server 2016 R Services (In-Database). Pair with AdvancedAnalytics to install R Open and proprietary R packages.
|
|
SQL_INST_MPY
|
Applies to SQL Server Machine Learning Services (2017 or later). Pair with AdvancedAnalytics to install Anaconda and proprietary Python packages.
|
|
SQL_INST_JAVA
|
Applies to SQL Server Java Language Extension (2019 and later). Pair with AdvancedAnalytics to install extensions that enable integration with Java using standard T-SQL statements.
|
Также мне нужно указать ключи:
/Q - Указывает, что программа установки работает в тихом режиме (без пользовательского интерфейса).
/IACCEPTSQLSERVERLICENSETERMS - Требуется для подтверждения принятия условий лицензии. Требуется только в том случае, если для автоматической установки указан параметр /Q или /QS.
/ACTION=install - Необходим для указания на рабочий процесс операций установки.
/INSTANCENAME - Наименование экземпляра.
/SQLSYSADMINACCOUNTS - С помощью этого параметра имена входа подготавливаются в качестве членов роли sysadmin. В моем случае «WIN1MSSQL2019\Administrator»
Итоговая команда:
setup.exe /Q /IACCEPTSQLSERVERLICENSETERMS /ACTION=install /FEATURES=SQL /INSTANCENAME=SQLDEV /SQLSYSADMINACCOUNTS="WIN1MSSQL2019\Administrator"
Выполняем и ждем, можно посмотреть в Windows Admin Center «Установленные приложения»:
Заглянем в «Процессы»
На сервере можно посмотреть файл, в котором прописаны все настройки, что были введены при установке, расположен он тут:
C:\Program Files\Microsoft SQL Server\150\Setup Bootstrap\Log\{Дата_Время}\ConfigurationFile.ini
Качаем SQL Server Management Studio (SSMS)
Скачиваем тут: https://docs.microsoft.com/en-us/sql/ssms/release-notes-ssms?view=sql-server-ver15
На момент написания шпаргалки последняя русская версия была 18.10, английская 18.11
Был скачан файл: SSMS-Setup-ENU.exe
Устанавливаем SQL Server Management Studio (SSMS):
Переносим файл SSMS-Setup-ENU.exe на сервер:
Переходим на сервер и запускаем команду:
start "" /w C:\distr\SSMS\SSMS-Setup-ENU.exe /Quiet SSMSInstallRoot=%systemdrive%\SSMSto
Можно также передать /Passive вместо /Quiet, чтобы увидеть пользовательский интерфейс программы установки.
Можно посмотреть в Windows Admin Center «Установленные приложения»:
На сервере выполняем команду:
C:\SSMSto\Common7\IDE\Ssms.exe -S WIN1MSSQL2019\SQLDEV -U WIN1MSSQL2019\Administrator
-S Имя сервера
-U имя пользователя
-P был удален в SSMS версии 18.0.
-? Вызвать справку
И вот мы видим привычный нам интерфейс:
«Кружева»
Работа с пользователями через командную строку:
net user - список пользователей
net user ?/
Пример смены пароля у пользователя Administrator:
net user Administrator NewPass
Работа с процессами через командную строку:
tasklist - запущенные процессы
taskkill - завершить процессы
taskkill /f /im Наименование
taskkill /f /pid НомерПроцесса
netstat – получение списка используемых портов
-a - показывает все сокеты, используемые процессами
-o - показывает PID процесса
-n - показывает адреса в числовом формате
netstat -aon | findstr "PID_number "
Выводы
Все использованные версии доступны для бесплатного скачивания и использования, удобны в установке. Я не призываю использовать данный вид инсталляции, но если вам нужна легкая ОС Windows, без всего лишнего, думаю, стоит посмотреть в сторону данной версии. Плюсом можно побаловаться с командной строкой, навык полезный. Мои же эксперименты продолжатся 😉
Всем удачи в работе, надеюсь, данная шпаргалка Вам будет полезна!