В этой статье мы пошагово рассмотрим установку Microsoft SQL Server 2019 с описанием всех опций, компонентов, актуальных рекомендаций и best practice.
MS SQL Server это лидирующая РСУБД (Реляционная система управления базами данных) а также главный конкурент Oracle Database в корпоративном сегменте. В СНГ MSSQL чаще всего применяется для собственных разработок прикладного ПО и для 1С.
Содержание:
- Редакции MS SQL Server 2019
- Особенности лицензирования SQL Server
- Начало установки SQL Server
- Параметры обновлений SQL Server при установке
- Тип инсталляции SQL Server
- Компоненты SQL Server 2019: для чего нужны, какие нужно установить
- Настройка именования экземпляра SQL Server
- Настройка параметров служб SQL Server, кодировка
- Настройка Database Engine в SQL Server
Редакции MS SQL Server 2019
Всего есть 6 выпусков (редакций) MSSQL 2019:
- Express является бесплатной для использования редакцией. Функционал довольно ограничен, самое ощутимое ограничение экспресс версии — максимальный размер базы 10 ГБ. Эта редакция подойдет для небольших проектов, например, студенческих работ или для обучения SQL/T-SQL.
- Standard это полноценная платная редакция, но многих функций всё еще нет. Максимальный объём оперативной памяти, который сможет использовать SQL Server – 128 ГБ, также отсутствуют группы доступности AlwaysOn и другие компоненты. Standard предназначен для приложений в небольших организациях.
- Enterprise включает в себя все возможные функции и компоненты, никаких ограничений нет. Корпоративная редакция обычно используется крупными корпорациями или компаниями, которым необходим функционал этой версии.
- Developer редакция так же как и Enterprise не имеет никаких ограничений и её можно использовать бесплатно, но она может использоваться только для разработки и тестирования приложений.
- Web редакция почти ничем не отличается от standard, кроме как более сильными ограничениями в функционале и соответственно более низкой стоимости лицензирования;
- Evaluation — ознакомительная редакция SQL Server, которая предоставляет полный функционал Enterprise и работает в течении 180 дней (может быть обновлена до полноценной версии).
Особенности лицензирования SQL Server
MS SQL Server лицензируется по 2 моделям:
- PER CORE — лицензирует MSSQL по ядрам сервера
- SERVER + CAL — лицензия целиком на сервер и на каждого пользователя, который будет работать с сервером
Enterprise редакция может быть лицензирована только по типу PER CORE
Также в MSSQL Server 2019 появилась новая возможность для лицензирования контейнеров, виртуальных машин и Big Data Clusters.
Более подробная информация по лицензирования SQL Server представлена в отдельной статье.
Начало установки SQL Server
В этой статье мы будем устанавливать MS SQL Server 2019 Enterprise Edition на Windows Server 2019.
Примечание. В SQL Server 2019 появилась полноценная поддержка Linux, а соответственно Docker и Kubernetes.
- Скачайте и распакуйте установочный образ SQL Server 2019. Запустите setup.exe;
- Так как в этой статье мы будем устанавливать обычный изолированный экземпляр, во вкладке Installation выберите “New SQL Server stand-alone installation”.
В инсталляторе SQL Server можно выполнить много других действий: обновить старый экземпляр, починить сломанный и некоторые другие вещи.
Параметры обновлений SQL Server при установке
На этом шаге вы можете включить поиск обновлений через Windows Update. Включать эту опцию или нет, решать вам. Всё зависит от вашей планировки обновлений и от требований к отказоустойчивости сервера. Если у вас нет четкого плана обновлений ваших серверов, лучше оставьте этот параметр включенным.
Нажмите Next.
Шаг Install Setup Files произойдет автоматически. Он подготовит файлы для установки.
Install Rules так же пройдет автоматически, если установщик не обнаружит проблем, которые необходимо решить перед установкой MSSQL (например, перезагрузить компьютер или несовместимость вашей версии Windows с версией SQL Server).
Тип инсталляции SQL Server
На этом шаге вы можете выбрать установку нового экземпляра или добавление функционала в уже установленный экземпляр. В нашем случае выбираем “Perform a new installation”.
Теперь нужно ввести ключ продукта. Если нет ключа, выбирайте Free edition (например, Developer), но имейте в виду, что с редакцией Developer вы имеете право только разрабатывать и тестировать ПО, но не использовать сервер в продуктивной среде.
На шаге License Terms принимаем лицензионное соглашение.
Компоненты SQL Server 2019: для чего нужны, какие нужно установить
На этом этапе вам предлагают установить различные компоненты SQL Server. Пройдемся по ним подробнее, посмотрим какие нужно ставить в различных ситуациях:
- Database Engine Services – это основной движок SQL Server. Обязателен к установке.
- SQL Server Replication – службы репликации. Компонент довольно часто используются, поэтому если вы не уверены нужны ли они вам, то лучше отмечайте для установки.
- Machine Learning Services and Language Extensions – службы для выполнения R/Python/Java кода в контексте SQL Server. Необходимо, если вы собираетесь заниматься Machine Learning.
- Full-Text and Semantic Extractions for Search – компонент необходим, если вам нужна полнотекстовая технология поиска или семантический поиск в документах (например docx). В случае семантического поиска по документам, вам также понадобиться FILESTREAM, о нём ниже.
- Data Quality Services – службы для коррекции и валидации данных. Если вы не уверены нужен ли вам DQS, то лучше не устанавливайте его.
- PolyBase Query Service For External Data – технология для доступа к внешним данным, например на другом SQL Server или в Oracle Database. Java connector for HDFS data sources относиться к PolyBase технологии и нужен в случае если вы хотите работать с HDFS технологией.
- Analysis Services – также известен как SSAS. Технология для бизнес-отчетов (BI) и работы с OLAP. Используется в крупных компаниях для отчетности.
Дальше переходим к списку Shared Features (функций, распространяющихся на весь сервер, а не на конкретный экземпляр).
- Machine Learning Server (Standalone) – то же самое что и Machine Learning Services and Language Extensions, но с возможностью установки без самого движка SQL Server.
- Data Quality Client – то же самое что и DQS, только standalone.
- Client Tools Connectivity – библиотеки ODBC, OLE DB и некоторые другие. Рекомендем ставить обязательно.
- Integration Services – службы интеграции данных, известны также как SSIS. Технология для ETL (Extract, Transform, Load) данных. SSIS нужны, если вы хотите автоматизировать импорт данных и менять их в процессе импорта. Scale Out Master/Worker нужны для масштабирования работы SSIS. Если вы не уверены нужны ли они вам, то не отмечайте их.
- Client Tools Backwards Compatibility – устаревшие DMV и системные процедуры. Рекомендую ставить.
- Client Tools SDK – пакет с ресурсами для разработчиков. Можно не ставить, если не уверены, нужен ли он вам.
- Distributed Replay Controller/Client – повторяют и улучшают функционал SQL Server Profiler. Службы Distributed Replay нужны для моделирования нагрузки и для различного рода тестирования производительности.
- SQL Client Connectivity SDK – ODBC/OLE DB SDK для разработчиков.
- Master Data Services – компонент из Microsoft Power BI. Нужен для анализа, валидации, интеграции и коррекции данных.
Некоторые из этих компонентов (например, Java connector for HDFS data sources) могут отсутствовать в более старых версиях SQL Server.
Чуть ниже, на этом же шаге, вы можете указать директорию для файлов SQL Server’a. Если у вас нет весомых причин менять её, то оставьте стандартную (C:\Program Files\Microsoft SQL Server\).
После того как вы выбрали нужные вам компоненты MSSQL, инсталлятор проверяет совместимость компонентов с вашей системой, и, если проблем нет, этот шаг пройдет автоматически.
Настройка именования экземпляра SQL Server
Вы можете оставить параметр Default Instance, в таком случае имя вашего экземпляра будет MSSQLSERVER. При выборе Named Instance вы сами указываете имя экземпляра SQL Server. В моём случае я назову экземпляр DEV. Instance ID рекомендуется ставить такой же, как и имя экземпляра, во избежание путаницы.
В Installed instances отображаются установленные на сервере экземпляры MSSQL, у меня уже есть один.
Настройка параметров служб SQL Server, кодировка
Во вкладке Service Accounts укажите аккаунты из-под которых будут работать службы SQL Server на хосте. Хорошей практикой считается использование MSA (Managed Service Accounts) и gMSA (Group Managed Service Accounts) технологий, как самых надежных в плане безопасности. Я буду использовать обычный доменный аккаунт.
Выставьте у SQL Server Agent поле Startup Type в Automatic, иначе агент придется запускать вручную.
Также начиная с SQL Server 2016 появилась возможность выставлять параметр IFI (Instant File Initialization) при установке сервера. В инсталляторе он называется “Grant Perform Volume Maintenance Task privilege to SQL Server Database Engine”. Его включение означает, что старые данные не будут перезаписываться нулями при:
- Создании базы данных;
- Добавлении данных в файлы данных или лог файлы;
- Увеличении размера существующих файлов (включая операции авто увеличения);
- Восстановлении базы данных/файловой группы.
Это ускоряет процесс инициализации файлов, но уменьшает безопасность, потом что старые данные не затираются нулями, поэтому старая информация, которая содержалась в этих файлах, может быть частична доступна.
Рекомендую включать этот параметр, если опасность утечки данных несущественна.
На следующем шаге вы должны выбрать Collation.
Грубо говоря, Collation это настройка кодировки SQL Server. Этот параметр устанавливает кодировку страниц, правила сортировки, кодировку для char/varchar и другие языковые настройки.
При установке сервера вы выбираете Collation для всего SQL Server. После установки можно будет поменять этот параметр, но сделать это будет непросто, поэтому нужно сразу выбрать подходящий для ваших задач Collation.
Для СНГ рекомендуется выбирать Cyrillic_General_CI_AS. Если данные будут только на английском, можно выбирать SQL_Latin1_General_CP1_CI_AS.
Если вы планируете использовать SQL Server в боевых условиях, ознакомьтесь с документацией по выбору Collation, так как это важный параметр, хоть он и может быть задан для конкретной базы данных.
Настройка Database Engine в SQL Server
На шаге Database Engine Configuration доступны 6 вкладок, начнем по порядку:
В Server Configuration вы должны выбрать Authentication Mode и указать аккаунт для администратора SQL Server’a.
У вас на выбор есть 2 режима: Windows authentication mode и Mixed mode.
- С Windows аутентификацией авторизоваться смогут только пользователи вашего домена или компьютера под управлением Windows.
- В Mixed mode помимо windows авторизации станет доступна авторизация по учетным данным самого SQL Server’a.
Майкрософт рекомендует использовать Windows Authentication как самый безопасный, но на практике скорее всего вам нужно будет логиниться на сервер из других приложений. Например, написанных на java, и в таком случае без аутентификации SQL сервера не обойтись.
Если вы уверены, что ваши пользователи будут логиниться только с Windows компьютеров и приложений, поддерживающих Windows аутентификацию, то выбирайте Windows authentication mode.
В моём случае я ставлю Mixed mode. В этом режиме вам нужно будет прописать пароль от пользователя sa и выбрать Windows аккаунт, который будет обладать административными правами.
На вкладке Data Directories вы должны выбрать каталог, в которой SQL Server будет хранить базу данных и транзакционные логи.
Для данных лучше всего выделить отдельный RAID массив. Дисковая подсистема критически важна для производительности SQL Server’а, поэтому необходимо выбрать самый хороший из доступных вам вариант хранения данных, будь то NAS или локальный RAID из быстрых дисков.
Хорошей практикой считается разнесение всех директорий (системных баз данных, пользовательских баз данных, логов пользовательских баз данных, резервных копий) на разные хранилища. Таким образом вы добьетесь максимальной производительности от SQL Server’а на уровне работы с хранением данных.
В моём случае я укажу отдельный диск с RAID 1 для всех директорий.
На вкладке TempDB настраиваются параметры для базы tempdb. Её правильная конфигурация важна для производительности сервера, так как эта база участвует практически во всех операциях с данными.
- Number of files – количество файлов данных для tempdb. Вам нужно указать количество файлов в зависимости от ядер процессора. Хорошей практикой считается выставлять количество файлов равным количеству ядер процессора поделенных на 2. То есть на 32 ядра вашего сервера рекомендуется 16 файлов. Также независимо от количества ядер не рекомендуется ставить меньше 8 файлов, это необходимо, чтобы избежать проблем, описанных здесь https://support.microsoft.com/en-us/kb/2154845 .
- Initial size – начальный размер файлов данных tempdb. При каждой перезагрузке сервера, размер tempdb будет сбрасываться до начального размера. Рекомендуется указывать размер файлов данных в зависимости от планируемой нагрузки. Если вы не можете спланировать будущую нагрузку, то оставьте 8 MB. Если вы выделите отдельный массив/диск под файлы tempdb (об этом ниже), то лучше всего будет указать такой размер файлов, который бы полностью заполнил диск, чтобы избежать постоянных операций увеличения файла.
- Autogrowth – шаг увеличения файлов tempdb. Размер нужно ставить в зависимости от начального размера. Оставьте 64 МB, если не можете спланировать нагрузку. Имейте в виду, если включен IFI (Instant File Initialization) то ожидание блокировок на расширение файла будет намного меньше. Не рекомендуется ставить размер шага слишком большим, так как это вызовет существенные задержки при увеличении размера файла.
- Data Directories – директории для размещения файлов данных tempdb. Если вы укажите несколько директорий, файлы будут размещаться по алгоритму Round-robin, то есть циклически. Грубо говоря при указании, например, 4 директорий, файлы данных распределятся по всем директориям в равной степени. Хорошей практикой будет добавить разные дисковые массивы для файлов данных.
- TempDb Log file: Initial size / Autogrowth – настройка начального размера и шага увеличения файла лога tempdb. Стоит придерживаться таких же правил, как и для файлов данных tempdb.
- Log Directory – директория для хранения лог файла tempdb. Лог файл всего 1, независимо от количества файлов данных, указывается всего 1 директория. Если есть возможность, лог файлу также выделите отдельный массив.
Вкладка MaxDOP.
MaxDOP это параметр SQL Server’а который отвечает за параллельное выполнение запросов и соответственно степень параллелизма. Для того чтобы SQL Server использовал все ядра процессора для обработки параллельных планов, установите 0 в качестве значения MaxDOP. Если по каким-то причинам вы хотите отключить параллельное выполнение запросов, установите 1 в качестве значения. Для максимальной производительности настройте MaxDOP согласно правилам в таблице (https://go.microsoft.com/fwlink/?linkid=2084761):
| Сервер с одним узлом NUMA | Не более 8 логических процессоров | Значение параметра MAXDOP не должно превышать количество логических процессоров |
| Сервер с одним узлом NUMA | Больше 8 логических процессоров | Значение параметра MAXDOP должно быть равно 8 |
| Сервер с несколькими узлами NUMA | Не более 16 логических процессоров на узел NUMA | Значение параметра MAXDOP не должно превышать количество логических процессоров на каждый узел NUMA |
| Сервер с несколькими узлами NUMA | Больше 16 логических процессоров на каждый узел NUMA | Значение MAXDOP должно быть равно половине количества логических процессоров на узел NUMA со значением MAX, равным 16 |
В моём случае я поставлю 0. Это даст наибольшую производительность для выполнения планов параллельных запросов, но это может вызвать задержки, так как другие запросы должны будут дождаться завершения выполнения текущего запроса, потому что все ядра процессора будут заняты выполнением текущего запроса.
Для “боевого” сервера я всё же рекомендую следовать правилам из таблицы, а также ознакомиться с документацией по ссылке выше.
Вкладка Memory – нужно указать минимальный и максимальный объем оперативной памяти, который будет использовать SQL Server. Так как спрогнозировать нужный объём для сервера довольно сложно, рекомендуется выделить SQL Server’у 80-85% от всего объёма оперативной памяти сервера. Для того чтобы узнать реальный объём используемой оперативной памяти, нужно круглосуточно мониторить потребление оперативной памяти через специальные DMV (Dynamic Management View) и отслеживать пики потребления RAM. Только с наличием этой информации можно спрогнозировать реальный объем потребления оперативки.
Я оставлю Default значения (min 0 и max 2147483647 MB).
Вкладка FILESTREAM – включение технологии FILESTREAM. Она позволяет хранить бинарные файлы на файловой системе и обеспечивает доступ к ним через SQL. Если вы не уверены, что хотите работать с бинарными данными на уровне SQL, то тогда оставьте FILESTREAM выключенным.
Шаг Feature Configuration Rules пройдет автоматически. Ознакомьтесь со сводкой в Ready to Install и жмите Install.
На этом базовая установка SQL Server 2019 Enterprise завершена. В следующей статье мы посмотрим на основные способы анализа производительности и проблем в SQL Server.
Примечание. На более старых версиях ( SQL Server 2014, 2016) некоторых вкладок и параметров может не быть.
В данной статье мы наглядно покажем как происходит установка SQL Server 2019, а так же начальные настройки приложения, которые можно задать при установке.
1) Скачиваем дистрибутив Microsoft SQL Server 2019.
2) Далее открываем установщик и начинаем инсталляцию приложения.
3) Далее, у нас запросят выбрать версию установки из бесплатных, к примеру Evaluation (ознакомительня версия). Бесплатные ознакомительные версии работают только 180 дней пробного периода, далее приложение закрывает свой функционал.
Либо если у Вас есть ключ активации от полнофункциональной версии, к примеру SQL Server 2019 Standard, то в нижнее поле можете ввести его. Приобрести ключ активации SQL Server 2019 Standard можете на следующей странице. Доставка в течении нескольких часов на Вашу электронную почту. Гарантия и круглосуточная техподдержка.
4) Принимаете лицензионное соглашение.
5) Далее, Вам предлагается выбрать компоненты для установки в SQL Server, выбираете нужные под Ваши задачи и жмем далее.
6) Далее задаем имя интерфейса. Если Вы планируете использовать только один экземпляр, то можете выбрать пункт «Экземпляр по умолчанию», в этом случае подключение будет осуществляться к этому экземпляру.
В нашем случае сделаем именованный и зададим ему имя.
7) Для поддержки Java установим среду JRE. Но если Вам требуется еще JDK или JRE другой версии, то Вы можете самостоятельно скачать их и выбрать установщики в меню «Расположение установки …«

Но Вы в настройках можете выбрать учетную запись Вашего домена, если Ваш сервер входит в домен.
Так же, Вы можете задать тип запуска какой-либо службы. Поставить ее на автозапуск, в ручную, или вообще отключить, если Вам данная служба не нужна под Ваши задачи.
Так же можем зайти в меню «Параметры сортировки» — Это настройки таблицы кодировок. А так же, выполнять сортировку, как учитывать верхний и нижний регистр, как реагировать на символы, и т.п.
9) Далее переходим к настройкам учетных записей для подключения к SQL Server 2019. Нам предлагают выбор режим входа под учетными записями Windows, либо смешанный режим, т.е возможность входа под учетной записью Windows и под учетной записью SQL Server, если выбрать смешанную, то Вам предложится создать учетную запись SQL Server.
На примере мы выберем «Режим аутентификации Windows => нажимаем на кнопку «Добавить текущего пользователя» и добавляем его.
Так же, если Ваш сервер входит в домен, то можете добавить авторизацию с домена.
Далее можем перейти в вкладку «Каталоги данных». В этом пункте вы можете выбрать места расположения для корневого каталога, каталога системной базы данных, пользовательской БД, каталог журналов пользовательской БД и каталог для бекапа. Рекомендуется все месторасположения указывать на разных жестких дисках / разделах.
В следующей вкладке «TempDB».
Число файлов — прописано по умолчанию в зависимости от количества ядер.
Начальный размер — рекомендуется прибавить размер хотя бы до 16, или 32 МБ.
Авторасширение — Это количество МБ, которое будет приращиваться, если файл будет заполнен на 100%. Количество указывают обычно в зависимости от задач и использования SQL Server, по умолчанию 64 МБ, но рекомендуется добвлять от 1гб, чтобы не было нагрузки на производительность SQL Server
Каталог данных в идеале должен быть на отдельном жестком диске.
Следующая вкладка это настройки Filestream — это настройка, которая позволяет хранить файлы в файловой системе NTFS, она может быть как активирована, так и нет, опционально.
10) Если вы в начале установке в меню «Компоненты» выбирали установку Pyton, то принимаем загрузку ПО следующим шагом. Если Вы не выбирали данный компонент, то это окно у Вас будет пропущено.
11) Теперь в следующем окне Вы можете наблюдать все установки и настройки, которые вы ранее задавали. Нажимаем «Установить».
12) Ожидаем завершения хода установки.
13) Если все прошло успешно, закрываем окно.
14) После того, как установка SQL Server 2019 завершена, нам нужно установить приложение, с помощью которого мы будем подключаться к серверу баз данных. Это приложение SQL Server Management Studio (SSMS).
Заходим снова в центр установки SQL Server и наживаем «Установить средства управления SQL Server».
15) При нажатии у нас откроется сайт Microsoft и нам нужно будет скачать SSMS.
Нажимаем «Установить».
И дожидаемся окончания установки.
Теперь через поиск ищем приложение «Microsoft SQL Server Managament Studio».
Теперь Вы можете авторизоваться под Вашей учетной записью в к SQL Server.

Table of Contents
- Minimum requirement:
- Linux and windows
- Data virtualization options
- MSSQL feature
- Top reason to choose SQL 2019
- Download
- Refer installation step by step
- SSMS download:
- Error occurred for polybase:
- Reference
Minimum requirement:
There should requirement like .net 3.5 framework more details.
Linux and windows
Data virtualization options
MSSQL feature
- Big Data clusters with SQL Server
- Resumable online index create
- Row mode memory grant feedback
- Online Clustered ColumnStore Indexes rebuild
- New DMV sys.dm_db_page_info
- Up to 5 synchronous replicas in Always On Availability Groups
- Enhanced Polybase connectors for SQL Server, Oracle, Teradata, and MongoDB
- Data Virtualization
- Extended support for persistent memory devices.
- The database-scoped default setting for online and resumable DDL operations
- Certificate Management in Configuration Manager
- Data Classification and Auditing
- Graph DB enhancements and support to UTF-8
- Always Encrypted with secure enclaves
Top reason to choose SQL 2019
Download
Downloads page and it shows important features you’ll love about SQL Server 2019.
Refer installation step by step
Click on the Installation page and then on ‘New SQL Server stand-alone installation or add features to an existing installation’
Since we are installation evaluation edition of SQL Server vNext CTP2.3, we will move will default option ‘Evaluation’ and click Next
Accept the license terms and conditions. Please note the message written here that SQL Server
Transmits information about installation experience in performance data to Microsoft to help improve the product.
Click on Next. In the next page, it checks for the Global rules and give status information about successful, failed rules. If there are any failed rules, we need to fix those before proceeding with the installation.
We have selected show details so it showing details.
Now we need to select the features, we need to install with this installation.
You can choose to install a default or named instance name.
we have selected you default instance. If you want can only install named instance, Provide an appropriate name for the named instance.
Server configuration, you can specify service account to use for SQL Server services along with the Collation. In this article, let us move with the default service account and collation. We can change service accounts later from SQL Server configuration
manager
Check properly about Collation.
Specify Authentication modes (Windows or Mixed mode) and add users to have SQL Server administrators.
Click on Data Directories and we can specify the data, log files, backup directories here.
You can mention their directories in a different drive. We have local drive one drive so selected only one drive.
Click on TempDB to configure the TempDB configurations.
Ideally, Tempdb should in a different drive.
If we want to enable Filestream, enable this option else to leave and click on Next.
We have selected Tabular mode for SSAS.
select data folder location
make sure that 8391 port should open or you can give a different port
It will show configuration file
the complete installation will require reboot server.
After installation, you need restart SQL server.
Make sure that your services should automatic for mssql and SQL agent.
configure 80% memory to mssql.
SSMS download:

SQL Server Management Studio 18.0 (GA)
SSMS 18.0 is no longer in preview and is the first general availability (GA) version of SSMS 18.0. If you have a preview versions of SSMS 18.0 installed, uninstall it before installing SSMS 18.0 GA.
Version Information
- Release number: 18.0 (GA)
- Build number: 15.0.18118.0
- Release date: April 24, 2019
Error occurred for polybase:
To resolve this issue, you need to install the Oracle JRE. To install the Oracle JRE, I went out and downloaded the latest JRE from the following location: https://www.oracle.com/technetwork/java/javase/downloads/jre10-downloads-4417026.html.
Reference
- csv data
- oracle JRE error
Dear readers of our blog, we’d like to recommend you to visit the main page of our website, where you can learn about our product SQLS*Plus and its advantages.
SQLS*Plus — best SQL Server command line reporting and automation tool! SQLS*Plus is several orders of magnitude better than SQL Server sqlcmd and osql command line tools.
Enteros UpBeat offers a patented database performance management SaaS platform. It proactively identifies root causes of complex revenue-impacting database performance issues across a growing number of RDBMS, NoSQL, and deep/machine learning database platforms. We support Oracle, SQL Server, IBM DB2, MongoDB, Casandra, MySQL, Amazon Aurora, and other database systems.
2 June 2020
In this article we will step by step cover the installation of Microsoft SQL Server 2019 with a description of all options, components, current recommendations and best practices.
MS SQL Server is the leading DBMS (Relational Database Management System) and also the main competitor of Oracle Database in the corporate segment. In CIS MSSQL is most often used for own application software development and for 1C.
MS SQL Server 2019 editions
There are 5 issues (editions) of MSSQL 2019 in total:
- Express is a free edition for use. The functionality is quite limited, the most tangible limitation of the Express version is the maximum base size of 10 GB. This edition is suitable for small projects such as student work or SQL/T-SQL learning.
- Standard is a full-fledged paid edition, but many functions still do not. The maximum amount of RAM that SQL Server can use is 128 GB, and there are no AlwaysOn accessibility groups or other components. Standard is designed for applications in small organizations.
- Enterprise includes all possible functions and components, there are no limitations. Enterprise edition is usually used by large corporations or companies that need the functionality of this version.
- Developer edition as well as Enterprise edition has no limitations and can be used for free, but it can be used only for application development and testing.
- Web edition is almost the same as standard, except for stronger limitations in functionality and correspondingly lower licensing costs.
Features of SQL Server licensing
MS SQL Server is licensed for 2 models:
- PER CORE – licenses MSSQL on server cores
- SERVER + CAL – a license for the entire server and for each user who will work with the server
Enterprise edition can only be licensed by PER CORE type
Also in MSSQL Server 2019 there is a new feature for licensing containers, virtual machines and Big Data Clusters.
For more information on SQL Server licensing, please see a separate article.
Getting started with SQL Server installation
In this article we will install MS SQL Server 2019 Enterprise Edition on Windows Server 2019.
Note. In SQL Server 2019 there is full support for Linux, and respectively Docker and Kubernetes.
- Download and unpack the SQL Server 2019 installation image. Run setup.exe;
- Since in this article we are going to install a normal isolated instance, on the Installation tab select “New SQL Server stand-alone installation”.
In SQL Server installer you can perform many other actions: update an old instance, fix a broken one and some other things.
SQL Server update options during installation
At this point, you can enable Windows Update to search for updates. It is up to you to enable this option or not. It all depends on your update scheduling and server resilience requirements. If you do not have a clear service plan for your servers, it is best to leave this option enabled.
At this step, you can see such a mistake:
Error 0x80244022: Exception from HRESULT: 0x80244022
This is due to problems with the Windows Update service.
Press Next.
The Install Setup Files step will happen automatically. It will prepare the files for installation.
Install Rules will also pass automatically if the installer does not find problems that need to be resolved before installing MSSQL (for example, reboot your computer or if your version of Windows is incompatible with the version of SQL Server).
Type of installation of SQL Server
At this step, you can choose to install a new instance or add functionality to an already installed instance. In our case, choose “Perform a new installation”. Choose the type of sql server installation – new installation
Now you have to enter the product key. If you do not have a key, select Free edition (e.g. Developer), but keep in mind that with the Developer edition you are only allowed to develop and test software, but not to use the server in a productive environment. enter the installation key of the sql server
At the step License Terms we accept the license agreement.
Components of SQL Server 2019: what you need, what you need to install
At this stage you are offered to install various SQL Server components. Let’s take a closer look at them, see what you need to install in different situations:
- Database Engine Services is the main engine of SQL Server. It is obligatory to install.
- SQL Server Replication – replication services. The component is used quite often, so if you are not sure if you need it, it is better to mark it for installation.
- Machine Learning Services and Language Extensions – services to execute R/Python/Java code in the SQL Server context. This is necessary if you are going to do Machine Learning.
- Full-Text and Semantic Extractions for Search – This component is necessary if you need a full-text search technology or a semantic search in documents (e.g. docx). In the case of semantic document searches, you will also need FILESTREAM, about it below.
- Data Quality Services – services for correcting and validating data. If you are not sure if you need DQS, it is better not to install it.
- PolyBase Query Service For External Data – technology to access external data, for example, on another SQL Server or in Oracle Database. Java connector for HDFS data sources refers to PolyBase technology and is needed in case you want to work with HDFS technology.
- Analysis Services – also known as SSAS. Technology for business reports (BI) and work with OLAP. Used in large companies for reporting.
Next, we move on to the list of Shared Features (features that apply to the entire server, not to a particular instance).
- Machine Learning Server (Standalone) – the same as the Machine Learning Services and Language Extensions, but with the ability to install without the SQL Server engine itself.
- Data Quality Client – the same as DQS, only standalone.
- Client Tools Connectivity – ODBC, OLE DB and some other libraries. We recommend to set necessarily.
- Integration Services – data integration services, also known as SSIS. Technology for ETL (Extract, Transform, Load) data. SSIS is needed if you want to automate data import and change it during the import process. Scale Out Master/Worker is needed to scale the operation of SSIS. If you are not sure if you need it, do not mark it.
- Client Tools Backwards Compatibility – Outdated DMV and system procedures. I recommend you put them in.
- Client Tools SDK – A resource pack for developers. You may not want to install it if you are not sure if you need it.
- Distributed Replay Controller/Client – Repeats and improves the functionality of SQL Server Profiler. Distributed Replay services are needed for load modeling and performance testing of all kinds.
- SQL Client Connectivity SDK – ODBC/OLE DB SDK for developers.
- Master Data Services – component from Microsoft Power BI. Needed for data analysis, validation, integration and correction.
Some of these components (such as Java connector for HDFS data sources) may not be available in older versions of SQL Server.
Just below, on the same step, you can specify a directory for SQL Server files. If you have no good reason to change it, then leave the default one (C:\Program Files\Microsoft SQL Server\).
Once you have selected the MSSQL components you need, the installer checks the compatibility of the components with your system, and if there are no problems, this step will go automatically.
Configure SQL Server instance naming
You can leave the Default Instance parameter, in which case your instance name will be MSSQLSERVER. When you select Named Instance, you specify the name of your SQL Server instance. In my case, I will name the DEV instance. It is recommended that you set the Instance ID to the same name as the instance name to avoid confusion.
The Installed instances displays the MSSQL instance installed on the server, I already have one.
Configuring SQL Server service parameters, encoding
On the Service Accounts tab, specify the accounts from under which the SQL Server services on the host will run. It is good practice to use MSA (Managed Service Accounts) and gMSA (Group Managed Service Accounts) technologies as the most secure. I will use a normal domain account.
Select the Startup Type field in Automatic from the SQL Server Agent, otherwise the agent will have to be run manually.
Also, starting with SQL Server 2016 it is now possible to set the IFI (Instant File Initialization) parameter when installing the server. In installer it is called “Grant Perform Volume Maintenance Task privilege to SQL Server Database Engine”. Enabling it means that old data will not be overwritten with zeros:
- Creating a database;
- Adding data to data files or log files;
- Increasing the size of existing files (including auto zoom operations);
- Restore database/file group.
This speeds up the process of initializing files, but reduces security by not overwriting old data with zeros, so the old information contained in these files may be partially available.
I recommend enabling this option if the risk of data leakage is not significant.
On the next step, you must select Collation.
Roughly speaking, Collation is a configuration of SQL Server encoding. This parameter sets page encoding, sorting rules, char/varchar encoding and other language settings.
When you install the server, you select Collation for the whole SQL Server. After installation, you can change this parameter, but it will not be easy to do, so you need to immediately select the right Collation for your tasks.
If you plan to use SQL Server in combat conditions, read the documentation on choosing Collation, as it is an important parameter, although it can be set for a specific database.
Configure Database Engine in SQL Server
On the Database Engine Configuration step 6 tabs are available, let’s start in order:
In Server Configuration you must select Authentication Mode and specify an account for the SQL Server administrator.
You have 2 modes to choose from: Windows authentication mode and Mixed mode.
- With Windows authentication, only users on your domain or Windows computer can authenticate.
In Mixed mode, in addition to windows authentication, you will be able to authenticate using the credentials of SQL Server itself. - Microsoft recommends that you use Windows Authentication as the most secure, but in practice you will most likely need to login to a server from other applications. For example, applications that are written in java, in which case you can’t do without SQL Server authentication.
If you are sure that your users will only login from Windows computers and applications that support Windows authentication, then choose Windows authentication mode.
In my case, I will set the Mixed mode. In this mode, you will need to prescribe a password from user sa and select a Windows account that has administrative privileges.
On the Data Directories tab, you must select the directory in which SQL Server will store the database and transaction logs.
For data, it is best to allocate a separate RAID array. The disk subsystem is critical to SQL Server performance, so you must choose the best storage option available to you, whether it is NAS or local RAID from fast disks.
It is good practice to separate all directories (system databases, user databases, user database logs, backups) into different storage. In this way you will get the maximum performance from SQL Server at the storage level.
In my case I will specify a separate drive with RAID 1 for all directories.
The TempDB tab is used to configure parameters for the tempdb base. Its correct configuration is important for server performance, as this database is involved in almost all data operations.
- Number of files is the number of data files for tempdb. You need to specify the number of files depending on the processor cores. It is good practice to set the number of files to the number of processor cores divided by 2. That is 16 files are recommended for 32 cores of your server. Also regardless of the number of cores it is not recommended to set less than 8 files, it is necessary to avoid the problems described here https://support.microsoft.com/en-us/kb/2154845 .
- Initial size is the initial size of tempdb data files. Each time you reboot your server, the tempdb size will be reset to its initial size. It is recommended to specify the size of the data files depending on the planned load. If you cannot plan your future load, then leave 8 MB. If you allocate a separate array/disk for the tempdb files (as discussed below), it is best to specify a file size that will fill the disk completely to avoid constant file enlargement operations.
- Autogrowth is the step to enlarge tempdb files. The size should be set according to the initial size. Leave 64MB if you cannot plan the load. Note that if IFI (Instant File Initialization) is enabled, the waiting time for locks on file extension will be much less. It is not recommended to set the step size too large, as this will cause significant delays when increasing the file size.
- Data Directories – directories for placing tempdb data files. If you specify several directories, the files will be placed according to the Round-robin algorithm, i.e. cyclically. Roughly speaking, if you specify, for example, 4 directories, the data files will be distributed equally across all directories. It is good practice to add different disk arrays for data files.
- TempDb Log file: Initial size / Autogrowth – setting the initial size and step of increasing the tempdb log file. You should follow the same rules as for tempdb data files.
- Log Directory – directory for storing the tempdb log file. Log file is only 1, regardless of the number of data files, you should specify only 1 directory. If possible, the log file should also have a separate array.
Tab MaxDOP
MaxDOP is a parameter of SQL Server that is responsible for parallel execution of queries and, accordingly, the degree of parallelism. For SQL Server to use all cores of the processor to process parallel plans, set 0 as the MaxDOP value. If for some reason you want to disable parallel execution of queries, set 1 as a value.
Tab Memory
Tab Memory – you must specify the minimum and maximum amount of RAM that will use SQL Server. Since it is difficult to predict the required amount for the server, it is recommended to allocate SQL Server 80-85% of the total amount of RAM. In order to know the real amount of RAM used, you need to monitor RAM consumption 24 hours a day through special DMV (Dynamic Management View) and monitor RAM consumption peaks. Only with this information can you predict the actual RAM consumption.
Tab FILESTREAM
Tab FILESTREAM – enabling FILESTREAM technology. It allows you to store binary files on the file system and provides access to them via SQL. If you are not sure that you want to work with binary data at the SQL level, then leave FILESTREAM off.
The Feature Configuration Rules step will go automatically. Read the summary in Ready to Install and click Install.
This completes the basic installation of SQL Server 2019 Enterprise.
Tags: Microsoft SQL Server, SQL, sql server, sqls, SQLS*Plus
On Monday, September 24, during 2018 Ignite conference, Microsoft announced the public preview of SQL Server 2019 (vNext). CTP 2.0 version (Community Technology Preview) is now accessible for everyone. In this blog post, I will provide a step-by-step guide (with screenshots) on SQL Server 2019 installation on Windows. If you are a novice SQL Server user or have not had the opportunity to install SQL Server instance before, you might find this post very helpful.
Download SQL Server 2019
To download the preview version of the newest SQL Server, go to https://www.microsoft.com/evalcenter/evaluate-sql-server-2019-ctp. To download the installer you need to fill a short form and provide your contact information.

Run the installer
When you run the installer you get three options to install SQL Server 2019 (vNext) CTP2.0.
Basic
The first option enables you to install the SQL Server Database engine with default configuration. It’s the quickest solution however it doesn’t give you almost any flexibility. I won’t describe this one in this post.
Custom
The second option downloads all necessary files and starts the installation wizard allowing you to change components and settings for your installation. When the download is completed the SQL Server 2019 Installation Center is started.
Downloaded files are the same files you can find in the ISO image you can download using the third Download Media option.
Download Media
Thanks to the third option you’re able to download the SQL Server 2019 ISO file. This gives you the possibility to install SQL Server on machines without internet access or just to download it once and install it many times on various machines. This is my preferred option.
Installation using downloaded files
To start the installation you have to run the setup.exe file from the downloaded files (option 2) or mounted ISO file (option 3). This starts SQL Server 2019 Installation Center. This tool looks exactly the same as in previous versions and provides same various functionalities and possibilities. That includes requirements checking, documentation, installation, and some additional tools.
To install SQL Server choose the Installation option in the menu on the left side.
Next, choose the New SQL Server stand-alone installation or add features to an existing installation.
That will start SQL Server vNext CTP2.0 Setup.
SQL Server vNext CTP2.0 Setup
On the first pane, you have to choose an edition and eventually specify product key. Because SQL Server 2019 CTP2.0 is available only as the evaluation version you don’t have to provide anything and can just click the Next button.
On the next pane, you have to accept license terms and privacy statement. To do that, check the checkbox. Then you can click the Next button to continue.
As a next step, the installer will check Installation Rules to verify if the installation can be continued without any issues. When the check is done and there are no issues you can click the Next button to continue.
You may ignore Firewall warning if you will access SQL Server only from the same machine. Otherwise, you need to change Firewall rules to allow inbound connections. More details about Windows Firewall configuration for SQL Server 2019 can be found here.
The Feature Selection pane allows you to chose what components do you want to install and in what directories. By default, all components are not selected. More details about each particular feature can be found in this documentation.
To install all features of SQL Server 2019 Database Engine select them all and then click the Next button.
As a next step, the installer will check installation rules for all features you selected. If everything is OK then you can click the Next button to continue.
However, if something goes wrong and installer discovers that certain requirements are not met you have to take some actions to resolve listed issues.
For example, if you already have the PolyBase installed with some previous version of SQL Server on this machine then you will have to uninstall it first. Otherwise, SQL Server 2019 installer won’t let you continue installation because “PolyBase can be installed on only one SQL Server instance per computer”.
If you run into this issue during your installation I encourage you to check my another post in which I show how to uninstall PolyBase feature.
When all Feature Rules are passed then you have to decide if you want to install Default or Named instance. In my case, it will be named instance with SS2019CTP name. Click the Next button to continue.
If you decided to install PolyBase feature, then now you have to choose if you want to have a standalone PolyBase instance or make it a part of PolyBase scale-out group. In my case, it will be a standalone instance. I’m also not going to change default PolyBase port range. To continue, click the Next button.
The next page – Server Configuration – hast two tabs. The first tab allows you to set up service accounts for various services that will be installed. If you want to use domain accounts for your services (a good practice in big enterprise environments), then you have to provide here appropriate domain accounts and their respective passwords. If it is just your local installation that you want to have for your own purposes, then you can leave here default virtual accounts. Virtual windows accounts will be generated automatically and you don’t have to bother to manage their passwords. In this place, you can also decide whether you want these services to start automatically during system start or not.
Remember to check the “Grant Perform Volume Maintenance Rask privilege…” checkbox. This will speed up some of the disk operations performed by your new SQL Server 2019 instance.
On the second tab, you can choose a default collation for your SQL Server instance. If you don’t know what the collation is you better leave it unchanged. Click the Next button to continue.
Database Engine Configuration page has four tabs. On the Server Configuration tab, you have to specify authentication mode and administrators for the Database Engine. If you want to use only Windows accounts, then choose Windows authentication mode. If you want to use Windows and SQL accounts, then choose Mixed Mode. As a next step, you have to provide the password you want to have for SQL Server system administrator account (sa). The last step on this tab is to specify Windows accounts that should have System Administrator permissions. You can use the Add Current User button to easily add yourself to this list.
On Data Directories tab you can specify default directories for your data and log files. It is a good practice to separate system databases from user databases and put their data files and transaction log files on different drives.
On the TempDB tab, you can configure the number, the size, and the location of TempDB data and transaction log files. Busy systems require many TempDB data files to avoid page contention. If you’re installing this instance just for yourself you can leave default settings.
On the Filestream tab, you can decide if you want to have the Filestream feature enabled. To continue, click the Next button.
If you earlier decided to install R as part of the Machine Learning Services, now you need to give your consent to download and install the Microsoft R Open. To do so, you have to click the Accept button, then you can click the Next button to continue.

When all of this is already done, the Setup will check Feature Configuration rules. If any of these rules fail, you have to work on a solution. Otherwise, the installation will be stopped. If all checks successfully passed, click the Next button to continue.
The Ready to Install page is the last page before the installation process is started. You can double check here what you configured so far and what will be done during installation. These configuration settings are also saved in ConfigurationFile.ini. This file can be later used for unattended installation. To install SQL Server 2019 and all chosen features click the Install button.
Installation may take 10-15 minutes, depending on the machine.
Finally, when installation is Done, you may be prompted that additional computer restart is required. Click the OK button to confirm.
You may now review statuses for every feature installation. Everything is also logged into the Summary log file. Thanks to that, you can review your installation results later.
That’s it! Now you can enjoy your new SQL Server 2019 instance!
If something is unclear or you would like to get more help or explanation then please write a comment.
-Marek
Share it:
Хоть я и не являюсь администратором баз данных, тем не менее мне приходится довольно часто заниматься установкой MS SQL Server. Для себя я выработал определенную процедуру установки, которой и поделюсь в этой статье.
Ставить будем наиболее актуальную на сегодня версию MS SQL Server 2019. Начнем с подготовки.
Системные требования
Для установки SQL Server 2019 требуется минимум 6ГБ дискового пространства, 1ГБ ОЗУ и 64-разрядный процессор с тактовой частотой 1.4ГГц. Это официальные минимальные требования, необходимые для установки. Для работы, конечно же, этого недостаточно.
Установка SQL Server 2019 возможна на Windows Server 2016 или более поздней версии, а также на Windows 10 1507 или более поздней версии. Для серверных ОС поддерживается установка в режиме основных серверных компонентов (Server Core).
Подготовка дисков
Перед установкой необходимо подготовить диски, на которых будут располагаться базы данных. Рекомендуется размещать базы данных и логи транзакций на отдельных физических дисках, а также выделить отдельный диск под TempDB. В нашем случае хватит и одного диска, на котором я просто создам отдельные папки.
При создании и разбиении дисков необходимо установить размер сектора (Allocation unit size) равным 64Kb. Это можно сделать либо из оснастки управления дисками
либо, как вариант, из консоли PowerShell. Например:
New-Partition -DiskNumber 1 -DriveLetter D -UseMaximumSize
Format-Volume -DriveLetter D -AllocationUnitSize 64Kb -FileSystem NTFS -NewFileSystemLabel "Data" -Confirm:$false
Выбор редакции SQL Server
Теперь выберем нужную редакцию (Edition). На данный момент SQL Server доступен в четырех редакциях:
• Express Edition — распространяется бесплатно, но имеет жесткие аппаратные ограничения. Может использовать не больше одного физического процессора или больше 4 ядер многоядерного процессора, не больше 1Гб ОЗУ, а максимальный размер базы ограничен 10Гб;
• Standard Edition — имеет ограничение в 4 сокета или 24 ядра, а также 128Гб на экземпляр сервера. Максимальный размер базы не ограничен;
• Enterprise Edition — не имеет ограничение по использованию вычислительных мощностей;
• Developer Edition — редакция для разработчиков, распространяется бесплатно. Не имеет ограничений, так же как и редакция Enterprise. Эту редакцию запрещено использовать в производственных средах, только для разработки и тестирования.
Примечание. У SQL Server есть еще редакция Web Edition, специально предназначенная для размещения веб-сайтов. На данный момент эта редакция доступна только для партнеров Microsoft по лицензии SPLA (Service Provider License Agreement), поэтому ее не рассматриваем.
Выбор схемы лицензирования
При выборе редакции немаловажную роль играет стоимость лицензий, поэтому стоит коснуться схем лицензирования SQL Server. Есть две схемы лицензирования:
На сервер (SERVER + CAL)
В этой схеме лицензирования на каждый экземпляр SQL Server приобретается одна серверная лицензия. Лицензия назначается на сервер (физический или виртуальный) и не зависит от количества процессорных ядер. Каждая серверная лицензия позволяет клиентам запускать любое количество экземпляров SQL Server в одной операционной системе, физической или виртуальной. Дополнительно требуется приобрести лицензии клиентского доступа (CAL) для каждого устройства (Device CAL) и/или пользователя (User CAL), получающего доступ к экземпляру SQL Server или любому из его компонентов.
Каждая лицензия SQL Server CAL позволяет подключаться к неограниченному количеству баз. Клиентские лицензии можно переназначать другому пользователю или устройству, но не чаще, чем раз в 90 дней (если переназначение не связано с неисправностью устройства или отсутствием человека). Лицензии CAL можно использовать с предыдущими версиями SQL Server (право Downgrade). Например лицензии на SQL Server 2019 можно использовать для подключения к SQL Server 2016.
На ядро (PER CORE)
В этой модели лицензирования каждому ядру сервера, на котором работает SQL Server, должно быть присвоено соответствующее количество лицензий. Клиентские лицензии не требуются.
Редакция Enterprise лицензируется только по ядрам.
Чтобы лицензировать SQL Server, работающий в физической операционной системе, все физические ядра на сервере должны быть лицензированы. Лицензии выпускаются упаковками по 2 штуки (2-core pack). Для каждого физического процессора на сервере требуется минимум четыре лицензии ″на ядро″.
В случае с виртуальными средами есть два варианта лицензирования. В первом варианте можно лицензировать все виртуальные ядра, выделенные виртуальной машине, схема такая же как и для физического сервера.
Второй вариант, доступный только для редакции Enterprise, позволяет лицензировать физические ядра сервера. Лицензирование всех ядер в физическом сервере позволяет запускать SQL Server в физической и виртуальных средах, при этом разрешенное количество операционных систем на сервере равно количеству лицензий ″на ядро″. В такой конфигурации нет никаких ограничений на количество ядер, которые могут быть выделены каждой операционной системе.
При необходимости полностью лицензированному серверу можно назначать дополнительные лицензии ″на ядро″. Каждая дополнительная лицензия позволяет развертывать SQL Server на одной дополнительной виртуальной машине.
Максимальная виртуализация может быть достигнута при использовании Software Assurance Unlimited Virtualization. В этом случае разрешается запускать любое количество экземпляров SQL Server 2019 Enterprise Edition на неограниченном количестве виртуальных машин на сервере со всеми физическими ядрами, полностью лицензированными для SQL Server Enterprise Edition и подпадающими под действие Software Assurance.
Примечание. Кроме двух основных схем y SQL Server 2019 есть отдельная схема лицензирования для кластеров (Big Data Cluster) и для контейнеров (docker и т.п.). Подробную инструкцию по лицензированию SQL Server 2019 можно найти по адресу https://docs.microsoft.com/answers/storage/attachments/96089-sql-server-2019-licensing-guide.pdf.
Загрузка дистрибутива
Загрузить дистрибутив MS SQL Server можно с сайта загрузок Microsoft. Для этого надо перейти по адресу https://www.microsoft.com/en-us/sql-server/sql-server-downloads и выбрать нужную редакцию для загрузки. С сайта загрузится веб-инсталлятор, с помощью которого можно либо сразу запустить установку, либо загрузить полный дистрибутив, что я и рекомендую сделать.
Также стоит проверить список обновлений и при необходимости загрузить наиболее свежее.
Установка
Теперь все готово и можно приступать к установке. Монтируем образ с дистрибутивом и запускаем установщик. В открывшемся окне переходим на вкладку Installation и выбираем пункт меню New SQL Server stand-alone installation or add features to an existing installation.
Выбираем редакцию, которую будем устанавливать. Можно выбрать одну из бесплатных Express или Developer, можно выбрать редакцию Evаluation (ознакомительная редакция SQL Server, которая предоставляет полный функционал Enterprise и работает в течении 180 дней)
или можно ввести имеющийся ключ продукта, который и определит устанавливаемую редакцию.
В коммерческих версиях ключ продукта уже изначально включен в дистрибутив, найти его можно в файле DefaultSetup.ini.
Примечание. У SQL Server есть возможность изменить текущую редакцию продукта. Например можно редакцию Express обновить до Standard, а Standard до Enterprise. Это работает только в сторону повышения, понизить редакцию нельзя.
Переходим дальше и соглашаемся с лицензионным соглашением.
На следующей странице предлагается проверить наличие обновлений. Если согласиться, то установщик полезет на Microsoft Update в поисках обновлений. Это может занять довольно длительное время, да и потом я предпочитаю устанавливать обновления отдельно, поэтому галочку не отмечаем.
Теперь выбираем компоненты SQL Server, которые будем устанавливать. Это важный момент, поэтому остановимся на нем поподробнее. В SQL Server 2019 для установки доступны следующие компоненты:
На уровне отдельного экземпляра SQL Server (Instance Features)
• Database Engine Services – собственно сам движок SQL Server. Единственный обязательный к установке компонент;
• SQL Server Replication – службы репликации. Репликация представляет собой набор технологий копирования и распространения данных и объектов баз данных между базами данных, а также синхронизации баз данных для поддержания согласованности. Компонент довольно часто используются, поэтому рекомендую отметить для установки;
• Machine Learning Services and Language Extensions – службы машинного обучения. Компонент SQL Server, который дает возможность выполнять скрипты на языках Java, Python и R в базе данных. Ставить стоит только в том случае, если есть явная необходимость. Для поддержки языка Java необходимо предварительно установить JDK или JRE, иначе установку продолжить не удастся;
• Full-Text and Semantic Extractions for Search – полнотекстовый и семантический поиск. Полнотекстовый поиск – поиск слов или фраз в текстовых данных, обычно используется для поиска текста в большом объёме данных, так как он значительно быстрей обычного поиска. Семантический поиск является расширением полнотекстового поиска, который позволяет решать более широкий круг задач. Например c помощью семантического поиска, можно находить ключевые слова, то есть наиболее статистически значимые слова документа. Можно находить слова, которые делают два документа похожими. Есть возможность искать документы, которые больше всего походят на данный документ. Компонент часто используется, поэтому я ставлю его по умолчанию, на всякий случай. Обратите внимание, что для семантического поиска вам также понадобится технология FILESTREAM (о ней чуть позже);
• Data Quality Services – службы повышения качества данных. Позволяет построить базу знаний и использовать ее для задач по обеспечению качества данных, таких как исправление, дополнение, стандартизация и устранение дубликатов. DQS позволяет выполнять очистку данных с использованием служб эталонных данных, расположенных в облаке и предоставляемых поставщиками эталонных данных. DQS также предоставляет функции профилирования, встроенные в задачи по обеспечению качества данных, что позволяет анализировать целостность данных;
• PolyBase Query Service For External Data – технология доступа к внешним данным. PolyBase позволяет экземпляру SQL Server запрашивать данные непосредственно из SQL Server, Oracle, Teradata, MongoDB, кластеров Hadoop, Cosmos DB и т.д. без необходимости устанавливать клиентское программное обеспечение для подключения. PolyBase позволяет с помощью запросов T-SQL объединить данные из внешних источников с данными из реляционных таблиц в экземпляре SQL Server.
• Analysis Services – сервис аналитики, также известен как Server Analysis Services (SSAS). Используется для бизнес-аналитики, анализа данных и создания отчетов, таких как Power BI, Excel, Reporting Services и другие подобных.
На уровне всего сервера (Shared Features)
• Machine Learning Server (Standalone) – изолированный сервер машинного обучения, который работает независимо от SQL Server;
• Data Quality Client – автономное приложение, которое подключается к серверу DQS и позволяет выполнять операции по обеспечению качества данных. Предоставляет интуитивно понятный графический пользовательский интерфейс для очистки данных, интеллектуального анализа данных и административных задач в DQS.
• Client Tools Connectivity – клиентские компоненты, предназначенные для обеспечения связи между клиентами и серверами. Включают сетевые библиотеки для DB-Library, OLEDB для OLAP, ODBC, ADODB и ADOMD+. Рекомендуется ставить обязательно;
• Integration Services – службы интеграции данных, известны также как SQL Server Integration Services (SSIS). Позволяют в удобном виде реализовать процесс переноса данных из одного источника в другой по технологии ETL (Extract, Transform, Load). Также SSIS можно использовать для автоматизации других процессов, например, задач связанных с обслуживанием баз данных или каких-либо действий с файлами в операционной системе;
• Client Tools Backwards Compatibility — требуется для обратной совместимости клиентских средств. Включает в себя SQL Distributed Management Objects (SQL-DMO) и Decision Support Objects (DSO). Рекомендую ставить;
• Client Tools SDK – пакет для разработчиков (Software Development Kit). Можно не ставить;
• Distributed Replay Controller/Client – функции распределенного воспроизведения. Используются для моделирования нагрузки и для различного рода тестирования производительности;
• SQL Client Connectivity SDK – содержит пакет SDK Native Client SQL Server (ODBC/OLE DB) для разработки приложений баз данных.
• Master Data Services – позволяет управлять главным набором данных организации. О том, что такое MDS можно узнать из этой статьи. Но скорее всего вам это не нужно 🙂
Примечание. Некоторые компоненты, такие как сервис отчетов (Reporting Services) и средства управления (Management Tools) отсутствуют в дистрибутиве, их предлагается загрузить отдельно.
По умолчанию выбранные компоненты ставятся в стандартную директорию для приложений (C:\Program Files\Microsoft SQL Server). Путь установки можно изменить, хотя без особой необходимости этого лучше не делать.

Отметив необходимые компоненты жмем Next и ждем окончания проверки на совместимость. Если установщик не обнаружит никаких проблем, то переходим к следующему этапу — выбору экземпляра (Instance) SQL Server.
На одну операционную систему можно установить до 50 экземпляров SQL Server. Для того, чтобы как то их различать, первый экземпляр называется экземпляром по умолчанию (Default Instance) с именем MSSQLSERVER, остальные называются именованными (Named Instance) и для них надо придумывать уникальное имя.
В нашем случае на сервере нет установленных экземпляров SQL Server, поэтому просто оставляем все по умолчанию и идем дальше.
На вкладке Service Accounts можно указать учетные записи, под которыми будут работать службы SQL Server. По умолчанию используются виртуальные учетные записи вида NT Service\ServiceName (напр. NT Service\MSSQLSERVER). Это локальные учетные записи, однако службы, запускаемые с виртуальными учетными записями, могут осуществлять доступ к сетевым ресурсам домена с использованием учетных данных компьютера в формате DomainName\ComputerName$.
Рекомендуемым вариантом является использование управляемых учетных записей служб (Managed Service Accounts, MSA), это самый безопасный и надежный вариант. Также можно использовать обычный доменный аккаунт, либо одну из встроенных учетных записей (LocalSystem, NetworkService и т.п.).
Если не планируется создание отказоустойчивого кластера, то можно оставит все как есть. Виртуальные учетные записи не могут использоваться для экземпляра отказоустойчивого кластера SQL Server, так как у виртуальной учетной записи будет отличаться идентификатор безопасности на каждом узле кластера.
Поменяйте режим запуска службы агента (SQL Server Agent) на Automatic. Агент SQL Server — служба Microsoft Windows, выполняющая запланированные административные задачи, например создание резервной копии базы данных.
Также обратите внимание на скромную галочку внизу с названием ″Grant Perform Volume Maintenance Task privilege to SQL Server Database Engine″. Эта галочка включает функцию мгновенной инициализации файлов (Instant File Initialization).
Когда SQL Server резервирует новое место на диске, то он инициализирует его нулями. Данное поведение можно отключить. Возможность резервирования места на диске без инициализации и называется Instant File Initialization. Включение этой функции позволяет сократить время выполнения некоторых операций и снизить нагрузку на дисковую подсистему.
Примечание. Важно отметить, что Instant File Initialization работает только для файлов данных (MDF и NDF). Файлы лога (LDF) всегда инициализируются нулями.
Единственным недостатком данной технологии является снижение безопасности. Пользователь, которому назначено право на выполнение задач обслуживания тома, может удалить том, что может привести к потере данных или отказу в обслуживании. Кроме того, задачи обслуживания диска можно использовать для изменения данных на диске, например для назначение прав пользователей, что может привести к повышению привилегий.
Переходим на вкладку Collation. Параметр Collation определяет, как именно SQL Server должен сравнивать и сортировать строки. Это крайне важный параметр, который влияет на работу всего сервера БД. Его необходимо правильно указать при установке, поскольку потом изменить его крайне сложно. Значение Collation обычно указывается в системных требованиях приложения, которое буде использовать сервер БД.
По умолчанию Collation выбирается исходя из региональных настроек операционной системы. Так для русской версии системы по умолчанию будет выбрано Cyrillic_General_CI_AS, что означает следующее:
• Cyrillic_General — локаль или используемый язык;
• _CI (Case Insensitive) — без учета регистра;
•_AS (Accent Sensitive) — с учетом аксонов или диакритических знаков.
В следующем окне находятся все основные настройки ядра SQL. На вкладке Server Configuration устанавливаем режим аутентификации (Authentication Mode) и указываем пользователей, которые имею право на администрирование сервера. У SQL Server есть 2 режима аутентификации:
• Windows Authentication Mode — проверка подлинности Windows. Является проверкой подлинности по умолчанию, поскольку обеспечивает более высокий уровень безопасности, чем проверка подлинности SQL Server. При подключении пользователя SQL Server не запрашивает его пароль и не выполняет проверку удостоверения, а проверяет достоверность учетных данных с помощью токена участника Windows в операционной системе. Режим проверки подлинности Windows использует протокол безопасности Kerberos, реализует политику паролей в отношении проверки сложности надежных паролей, поддерживает блокировку учетных записей и истечение срока пароля. Соединение, установленное с помощью проверки подлинности Windows, иногда называется доверительным соединением, поскольку SQL Server доверяет учетным данным, предоставляемым Windows;
• Mixed Mode — смешанный режим. В смешанном режиме включены как проверка подлинности Windows, так и проверка подлинности SQL Server. Проверка подлинности Windows доступна всегда, и отключить ее нельзя. Если используется проверка подлинности SQL Server, в SQL Server создаются имена входа, которые не основаны на учетных записях пользователей Windows. И имя пользователя, и пароль создаются с помощью SQL Server и хранятся в нем же. Пользователи, подключающиеся с помощью проверки подлинности SQL Server, должны предоставлять свои учетные данные (имя входа и пароль) каждый раз при установке соединения. При использовании проверки подлинности SQL Server необходимо задавать надежные пароли для всех учетных записей SQL Server .
Если во время установки был выбран смешанный режим проверки подлинности, необходимо задать и подтвердить надежный пароль для встроенной учетной записи системного администратора SQL Server с именем sa. Учетная запись sa устанавливает соединения с помощью проверки подлинности SQL Server .
Если во время установки была выбрана проверка подлинности Windows, программа установки все равно создаст учетную запись sa для проверки подлинности SQL Server , но она будет отключена. Если позже переключиться на смешанный режим проверки подлинности и потребуется учетная запись sa, ее будет нужно включить. Поскольку учетная запись sa широко известна и часто является целью злонамеренных пользователей, ее не рекомендуется включать (за исключением тех случаев, когда это необходимо приложению). Никогда не указывайте пустой или простой пароль для учетной записи sa.
Любая учетная запись Windows или SQL Server может быть указана в качестве системного администратора. Я обычно выбираю смешанный режим, а в качестве администраторов сервера добавляю встроенную группу локальных администраторов (BUILTIN\Administrators).
На вкладке Data Directories указываем расположение пользовательских баз и резервных копий. По умолчанию они располагаются на системном диске, где им совсем не место. По возможности рекомендуется размещать базы данных и логи транзакций на отдельных физических дисках.
Отдельное внимание стоит уделить базе TempDB. Это системная база данных, в которой хранятся временные данные, созданные пользователями и внутренние объекты, создаваемые ядром СУБД. Эта база участвует практически во всех операциях с данными, поэтому ее параметры могут влиять на производительность всего сервера.
Для настройки доступны следующие параметры:
• Number of files – количество файлов данных. Рекомендуется создавать несколько файлов данных в зависимости от количества логических процессоров на сервере. Если логических процессоров меньше 8, рекомендуется создать файл данных для каждого процессора. Если логических процессоров 8 или больше, рекомендуется создать 8 файлов данных и оценить нагрузку на TempDB. Если мониторинг нагрузки покажет, что увеличение количества файлов оправдано, добавляйте по 4 файла данных за раз, но не больше общего числа логических процессоров.
• Initial size – начальный размер файлов данных. При каждой перезагрузке сервера TempDB создается заново, с начальным размером, а затем увеличивается по мере необходимости. Рекомендуется указывать размер файлов данных в зависимости от планируемой нагрузки. Если вы не можете заранее спланировать нагрузку, то оставьте размер по умолчанию. Для достижения максимальной производительности рекомендуется выделить для TempDB отдельный диск и установить суммарный размер файлов таким, чтобы полностью занять весь диск. Это позволит избежать постоянных операций увеличения файла.
Файлы данных должны иметь одинаковый размер, так как SQL Server использует алгоритм пропорционального заполнения, который повышает вероятность выделения памяти в файлах с большим объемом свободного пространства. Разделение TempDB на несколько файлов данных равного размера обеспечивает эффективное выполнение операций с высокой степенью параллелизма.
• Autogrowth – шаг увеличения файлов. Выбирается в зависимости от начального размера. На этапе установки можно оставить значение по умолчанию. Не рекомендуется ставить размер шага слишком большим, так как это вызовет существенные задержки при увеличении размера файла. И еще, если включена функция мгновенной инициализации файлов (Instant File Initialization), то ожидание блокировок на расширение файла будет намного меньше.
• Data Directories – директории для размещения файлов данных. Рекомендуется размещать файлы данных и журнала транзакций для временной базы на специально выделенных физических дисках, отдельно от операционной системы, файла подкачки и других баз данных. Если указать несколько директорий, файлы будут равномерно распределены по ним.
• TempDb Log file — лог файл у TempDB всего один, независимо от количества файлов данных. По настройкам стоит придерживаться таких же правил, как и для файлов данных. Если есть возможность, лог файлу также стоит выделить отдельный диск.
Переходим на вкладку MaxDOP. На многопроцессорном компьютере при выполнении запроса SQL Server может использовать параллелизм, или, говоря проще – выполнять один запрос в несколько потоков. Параметр MaxDOP (Max Degree of parallelism) как раз и отвечает за параллельную обработку данных и определяет максимальное число процессоров, применяемых при выполнении одного запроса.
Параметр MaxDOP определяется редакцией SQL Server, типом процессора и операционной системой. Чтобы разрешить серверу самому определять максимальную степень параллелизма, установите 0 в качестве значения данного параметра. И наоборот, для отключения многопоточности присвойте параметру значение 1. Если указано значение, превышающее количество доступных процессоров, используется фактическое число доступных процессоров. Если у компьютера только один процессор, то значение параметра MaxDOP учитываться не будет.
Установка MAXDOP на 2, 4 или 8 обычно обеспечивает наилучшие результаты в большинстве случаев использования.
Для максимальной производительности можно воспользоваться табличкой:
| NUMA nodes | Logical processors | MAXDOP value |
|---|---|---|
| Одна | ≤ 8 | 4, 2, или количество ядер (для 1 или 2-ядерного процессора) |
| Одна | > 8 | 8, 4, or 2 |
| Несколько | ≤ 16 | 8, 4, or 2 |
| Несколько | > 16 | 16, 8, 4, or 2 |
Примечание. В данном случае под Numa Node подразумевается физический процессор (сокет).
На вкладке Memory можно указать максимально можно указать минимальный и максимальный объем оперативной памяти, который будет доступен для SQL Server.
При установке можно оставить значения по умолчанию, их всегда можно скорректировать по мере необходимости. Но надо помнить, что значение по умолчанию позволяет SQL Server использовать столько памяти, сколько ему потребуется. Он cможет занять почти всю память ОС и вызвать проблемы с производительностью сервера. В самом простом случае можно следовать правилу — оставляем 8ГБ на нужды операционной системы, остальное отдаем SQL Server.
На вкладке FILESTREAM можно включить технологию потокового доступа к данным. Технология FILESTREAM объединяет SQL Server с файловой системой NTFS, позволяя размещать большие двоичные данные (документы, изображения, видео и т. д.) непосредственно на файловой системе. С помощью инструкций Transact-SQL можно вставлять, обновлять, запрашивать, выполнять поиск и резервное копирование данных, а потоковый доступ к данным обеспечивает API файловой системы NTFS. Говоря проще, FILESTREAM позволяет серверу БД хранить данные на файловой системе и работать с ними.
По умолчанию функционал FILESTREAM отключен, и если вы не уверены в его необходимости, то оставьте его выключенным.
Завершив настройки жмем Next и переходим к финальной части установки. Здесь мы можем проверить настройки и при необходимости вернуться назад и поправить их.
Также обратите внимание на ссылку внизу, она указывает на расположение конфигурационного файла ConfigurationFile.ini. Все произведенные вами настройки сохраняютяс в этом файле. Этот файл в дальнейшем можно использовать для автоматизации процесса установки. Для этого достаточно запустить установщик из командной строки и указать путь к файлу в качестве параметра. Например:
Setup.exe /ConfigurationFile=ConfigurationFile.INI
Запускаем установку и дожидаемся ее завершения.
Но это еще не все. Как я уже говорил, в дистрибутив не входят средства управления, их надо загружать отдельно. В принципе можно обойтись без них, к серверу можно подключаться удаленно. Но это не очень удобно, на мой взгляд, поэтому я всегда ставлю SQL Server Management Studio. Найти ее можно просто введя в поисковике SSMS. Также в меню установочного диска есть пункт Install SQL Server Management Tools, выбрав который вы автоматически попадете на страницу загрузки.
Сама установка не требует никаких усилий, надо просто запустить инсталлятор, нажать Install
и дождаться окончания процесса. По завершению потребуется перезагрузка.
После перезагрузки запускаем SSMS и заходим на сервер.
На этом установку можно считать завершенной.












































































































