Поиск по сайту:

Руководство по установке MS SQL Server 2019: основные настройки и рекомендации


В этой статье мы опишем пошаговую установку Microsoft SQL Server 2019 и расскажем обо всех опциях, компонентах, соответствующих рекомендациях и лучших практиках.

MS SQL Server — ведущая система управления реляционными базами данных и главный конкурент Oracle Database в корпоративном сегменте.

Редакции MS SQL Server 2019

Существует 5 редакций MSSQL 2019:

  • Express - бесплатная версия. Имеет ограниченное количество функций, самое главное ограничение — максимальный размер базы данных 10 ГБ. Эта редакция подходит для небольших проектов, таких как студенческие работы или изучение SQL/T-SQL;

  • Standard - полнофункциональная коммерческая версия. Однако он также имеет некоторые ограничения. Максимальный размер оперативной памяти, который может использовать SQL Server, составляет 128 ГБ. Группы доступности AlwaysOn и некоторые другие компоненты не включены. Стандартная версия может применяться в небольших организациях;

  • Enterprise включает все возможные функции и компоненты без каких-либо ограничений. Версия Enterprise обычно используется крупными корпорациями или компаниями, которым требуются предлагаемые в ней функции;

  • Версия Developer , как и версия Enterprise, не имеет никаких ограничений и бесплатна, но вы можете использовать ее только для разработки и тестирования приложений;

  • Веб-версия похожа на стандартную, но имеет больше ограничений и, следовательно, более низкую стоимость лицензии.

Лицензирование SQL-сервера

MS SQL Server использует 2 модели лицензирования:

  • PER CORE — MSSQL лицензируется в зависимости от количества физических ядер на хосте (сервере);

  • SERVER + CAL — лицензия приобретается на сервер и каждого работающего с ним пользователя.

Выпуск Enterprise можно лицензировать только по модели PER CORE.

Кроме того, вы можете лицензировать контейнеры, виртуальные машины и кластеры больших данных в MSSQL Server 2019.

SQL Server Standard может лицензироваться по любой из моделей (Server+CAL или Per Core).

SQL Server Enterprise лицензируется только по модели «на ядро».

Лицензирование SQL Server по числу ядер

Эта модель лицензирования используется для серверов с большим количеством клиентов или в случаях, когда количество клиентов неизвестно. Модель лицензирования позволяет неограниченному количеству пользователей или устройств подключаться к SQL Server как внутри, так и за пределами вашей организации.

Вам не нужно приобретать дополнительные клиентские лицензии (CAL).

Модель Per Core предполагает, что вы покупаете лицензии на все ядра вашего хоста, на котором работает SQL Server. Вот основные требования и ограничения:

  • Одна лицензия на два ядра (2Lic Core);

  • Для лицензирования сервера необходимо купить как минимум две 2-ядерные лицензии;

  • При работе на физическом сервере (физическая среда операционной системы — POSE) все ядра сервера должны быть лицензированы.

Лицензия MS SQL Server CAL + серверное лицензирование

Согласно этой модели лицензирования, для каждого экземпляра SQL Server приобретается одна серверная лицензия. Лицензия привязана к физическому (виртуальному) серверу (количество сокетов и ядер на хосте не имеет значения). Затем вам придется купить клиентские лицензии (CAL) для каждого устройства или пользователя, подключающегося к вашему SQL Server.

Клиентские лицензии SQL Server (например, клиентские лицензии RDS) бывают двух типов:

  • Лицензия на пользователя приобретается для учетных записей пользователей, которые подключаются к SQL Server с помощью серверной лицензии;

  • Device CAL - приобретается для всех устройств, используемых для подключения к SQL Server, с серверной лицензией.

Каждая клиентская лицензия SQL Server позволяет подключаться к любому количеству баз данных и экземпляров SQL Server.

Поскольку лицензии User CAL и CAL устройства имеют одинаковую цену, рекомендуется заранее оценить экономическую эффективность приобретения типа лицензии пользователя или устройства.

Примеры лицензирования SQL Server:

  1. 20 пользователей используют SQL Server с 20 известных устройств. В этом случае не имеет значения, какой тип SQL CAL покупать.

  2. 20 пользователей используют SQL Server с 50 устройств. В этом случае лучше приобретать клиентские лицензии «на пользователя».

  3. 50 пользователей используют SQL Server с 20 устройств. В этом случае будет эффективно покупать клиентские лицензии «на устройство».

При оценке количества клиентских лицензий SQL Server не имеет значения следующее:

  • Количество хостов, на которых работает SQL Server, в вашей компании;

  • Количество учетных записей пользователей на серверах;

  • Количество одновременных подключений к серверам;

  • Количество бизнес-приложений между вашим SQL Server и клиентами;

  • Количество серверов RDS (терминалов) между SQL Server и клиентами;

  • Пользователи в штате любых компаний;

  • Владение устройством людьми или компаниями.

Обратите внимание, что клиентские лицензии можно переназначить другому пользователю или устройству только один раз в 90 дней. Клиентские лицензии позволяют использовать предыдущие версии SQL Server (права на более раннюю версию).

Для правильного лицензирования используйте клиентские лицензии SQL Server той же или более новой версии, что и ваш SQL Server. Например, для доступа к SQL Server 2017 Standard Edition вам потребуется SQL CAL 2019 или SQL CAL 2017.

Запуск установки SQL-сервера

В этой статье мы установим MS SQL Server 2019 Enterprise Edition на Windows Server 2019.

Примечание. SQL Server 2019 имеет полную поддержку Linux, а также Docker и Kubernetes.

  • Загрузите и смонтируйте установочный образ SQL Server 2019. Запустите setup.exe.

  • Поскольку в этой статье мы будем устанавливать автономный экземпляр, выберите Новая автономная установка SQL Server на вкладке Установка.

В мастере установки SQL Server вы можете сделать многое другое: обновить предыдущий экземпляр, исправить ошибки и т. д.

Параметры обновления SQL-сервера

На этом этапе вы можете включить поиск обновлений через Центр обновления Windows. Вам решать, делать ли это. Если у вас нет четкого плана обновления ваших серверов, лучше включить эту настройку.

На этом этапе вы можете столкнуться со следующей ошибкой:

Error 0x80244022: Exception from HRESULT: 0x80244022

Это связано с проблемами Центра обновления Windows. Здесь вы можете узнать, как их решить: https://active-directory.ru/windows-update-error-0x80244010-exceeded-max-server-round-trips/

Нажмите Далее.

Шаг Установить файлы настройки будет выполнен автоматически. Он подготовит файлы SQL Server к установке.

Установка правил также будет выполнена автоматически, если мастер не обнаружит никаких проблем, которые необходимо решить до установки MSSQL (например, запрос на перезагрузку компьютера или несовместимость вашей версии Windows с версией SQL Server). .

Тип установки SQL-сервера

На этом этапе вы можете выбрать, следует ли установить новый экземпляр SQL-сервера или добавить функции к установленному экземпляру. В нашем случае установите флажок «Выполнить новую установку SQL Server 2019».

Затем введите ключ продукта SQL. Если у вас его нет, выберите бесплатную версию (например, Developer), но помните, что с версией Developer вы можете только разрабатывать или тестировать программное обеспечение (не использовать в производственных задачах).

На этапе Условия лицензии примите лицензионное соглашение.

Установка компонентов SQL Server 2019

На этом этапе вам будет предложено установить различные компоненты SQL Server. Давайте разберемся, что это такое и какие из них устанавливать:

  • Службы ядра СУБД - это базовый механизм SQL Server, который необходимо установить.

  • Репликация SQL Server — это службы репликации. Эта возможность используется довольно часто, поэтому если вы не уверены, нужна ли она вам, лучше проверить ее при установке.

  • Службы машинного обучения и языковые расширения - это службы, которые запускают код R/Python/Java в контексте SQL Server. Это необходимо, если вы собираетесь использовать машинное обучение.

  • Полнотекстовое и семантическое извлечение для поиска - эта функция понадобится вам, если вам нужна технология полнотекстового поиска или семантический поиск в документах (например, в формате .docx). В случае семантического поиска вам также понадобится FILESTREAM. Об этой особенности мы расскажем позже.

  • Услуги по обеспечению качества данных - это службы по исправлению или проверке данных. Если вы не уверены, нужен ли вам DQS, лучше не устанавливайте его.

  • Служба запросов PolyBase для внешних данных обеспечивает доступ к внешним данным, например, расположенным на другом SQL Server или в базе данных Oracle. Коннектор Java для источников данных HDFS связан с технологией PolyBase, и если вы хотите использовать технологию HDFS, установите его.

  • Службы аналитики также известны как SSAS. Технология используется для бизнес-отчетности (BI) и OLAP в крупных компаниях.

Затем перейдите к списку общих функций (функций, применимых ко всему серверу, а не к конкретному экземпляру).

  1. Сервер машинного обучения (автономный) то же самое, что и службы машинного обучения и языковые расширения, но его можно установить без ядра SQL Server.

  2. Клиент качества данных - это отдельная версия DQS.

  3. Подключение клиентских инструментов включает ODBC, OLE DB и некоторые другие библиотеки. Рекомендуется их установить.

  4. Службы интеграции - это службы интеграции данных, также известные как SSIS. Он используется в ETL данных (извлечение, преобразование, загрузка). SSIS необходимы, если вы хотите автоматически импортировать данные и изменять их во время импорта. Scale Out Master/Worker используются для масштабирования работы SSIS. Если вы не уверены, нужны ли они вам, не проверяйте эту функцию.

  5. Обратная совместимость клиентских инструментов - это устаревшие динамические представления и системные процедуры. Их рекомендуется устанавливать.

  6. Client Tools SDK - это набор инструментов разработчика. Если вы не уверены, что он вам нужен, не устанавливайте SDK.

  7. Контроллер/клиент распределенного воспроизведения дублирует и улучшает функции SQL Server Profiler. Службы распределенного воспроизведения моделируют нагрузку для различных тестов производительности.

  8. SDK SQL Client Connectivity - это SDK ODBC/OLE DB для разработчиков.

  9. Master Data Services - это компонент Microsoft Power BI. Он используется для анализа, проверки, интеграции или исправления данных.

Некоторые функции (например, соединитель Java для источников данных HDFS) могут быть недоступны в предыдущих версиях SQL Server.

На этом же этапе вы можете указать каталог для файлов SQL Server. Если у вас нет веской причины изменить его, оставьте значение по умолчанию (C:\Program Files\Microsoft SQL Server\).

После того, как вы выбрали нужные вам функции MSSQL, мастер установки проверит их совместимость с вашей системой, и если проблем нет, этот шаг завершится автоматически.

Имя экземпляра SQL Server

Вы можете оставить параметр Экземпляр по умолчанию. Тогда имя вашего экземпляра будет MSSQLSERVER. Если вы выберете Именованный экземпляр, вы сможете настроить имя своего SQL-сервера. В моем случае я назову свой экземпляр DEV. Во избежание путаницы рекомендуется вводить тот же идентификатор экземпляра, что и его имя.

В списке Установленные экземпляры показаны экземпляры MSSQL, установленные на сервере. У меня есть один.

Настройка параметров службы SQL Server

На вкладке «Учетные записи служб» укажите учетные записи, под которыми службы SQL Server будут запускаться на узле. Лучше всего использовать MSA (управляемые учетные записи служб) или gMSA (групповые управляемые учетные записи служб), поскольку они являются наиболее безопасными. Я буду использовать обычную учетную запись пользователя домена.

Установите для Тип запуска значение Автоматический для Агента SQL Server , иначе вам придется запускать агент вручную.

Кроме того, вы можете установить IFI (мгновенную инициализацию файла) во время установки сервера, начиная с SQL Server 2016. В мастере установки это называется «Предоставить привилегию выполнения задачи обслуживания тома SQL Server Database Engine». Если вы включите эту опцию, старые данные не будут перезаписаны нулями, если вы:

  • Создать базу данных;

  • Добавляйте данные в файлы данных или журналов;

  • Расширять размер существующих файлов (включая операции автоматического увеличения);

  • Восстановление базы данных или группы файлов.

Это ускорит инициализацию файлов, но повлияет на безопасность, поскольку старые данные не обнуляются (старая информация в файлах может быть частично доступна).

Рекомендую включать настройку, если угроза утечки данных невелика.

На следующем шаге вам необходимо выбрать Сортировка.

Параметры сортировки — это кодировка SQL Server. Этот параметр задает кодировку страницы, правила сортировки, кодировку char/varchar и другие настройки, связанные с языком.

Во время установки сервера вы выбираете параметры сортировки для всего SQL-сервера. После установки вы сможете редактировать настройку, но сделать это довольно сложно, поэтому лучше сразу выбрать подходящую сортировку.

Если у вас есть данные только на английском языке, вы можете выбрать SQL_Latin1_General_CP1_CI_AS.

Если вы собираетесь использовать SQL Server в продуктивных задачах, см. раздел документации «Сортировка», поскольку это важная настройка, хотя ее можно установить для каждой базы данных отдельно.

Настройка параметров ядра базы данных на SQL Server

На этапе Настройка Database Engine доступно 6 вкладок, давайте рассмотрим их по очереди:

В конфигурации сервера выберите «Режим аутентификации» и укажите учетную запись администратора SQL Server.

У вас есть два режима на выбор: Режим проверки подлинности Windows и Смешанный режим.

  • Только пользователи вашего домена или компьютера под управлением Windows смогут пройти аутентификацию с помощью Аутентификации Windows.

  • В смешанном режиме вы также сможете пройти аутентификацию, используя свою учетную запись SQL Server.

Microsoft рекомендует использовать аутентификацию Windows как наиболее безопасный метод, однако на практике вы, скорее всего, войдете на свой сервер и из других приложений. Например, из написанных на Java. Тогда вам придется использовать аутентификацию SQL Server.

Если вы уверены, что ваши пользователи будут входить в систему только с компьютеров Windows или приложений, поддерживающих проверку подлинности Windows, выберите режим проверки подлинности Windows.

В моем случае я проверяю смешанный режим. В этом режиме вам нужно будет указать

sa

пароль пользователя и выберите учетную запись Windows, которая будет иметь права администратора.

На вкладке Каталоги данных выберите каталог, в котором ваш SQL Server будет хранить файлы базы данных и журналы транзакций.

Для хранения данных лучше использовать отдельный RAID-диск. Дисковая подсистема критически важна для производительности SQL Server, поэтому используйте лучший доступный вариант хранения данных, например, NAS или локальный RAID из быстрых дисков.

Хранение всех каталогов (системных баз данных, журналов пользовательских баз данных, резервных копий) в разных хранилищах считается хорошей практикой. Таким образом, вы получите максимальную производительность SQL Server на уровне хранения данных.

В моем случае я укажу для всех папок отдельный диск RAID 1.

На вкладке TempDB вы можете настроить параметры tempdb. Ее правильная настройка важна для производительности вашего сервера, поскольку эта база данных участвует практически во всех операциях с данными.

  • Количество файлов - количество файлов данных для базы данных tempdb. Необходимо указать количество файлов в зависимости от количества ядер процессора. Хорошей практикой является указание количества файлов, равного числу ядер ЦП, разделенному на 2. Это означает, что для 32-ядерного сервера рекомендуется использовать 16 файлов. Также не рекомендуется указывать менее 8 файлов независимо от количества ядер. Необходимо избегать проблем, описанных здесь: https://support.microsoft.com/en-us/kb/2154845.

  • Начальный размер - начальный размер файлов данных tempdb. После каждого перезапуска сервера размер базы данных tempdb будет сброшен до исходного размера. Рекомендуется указывать размер файла данных в зависимости от планируемой нагрузки. Если вы не можете оценить его, оставьте значение 8 МБ. Если вы выделяете для файлов tembdb специальный массив/диск (мы обсудим это ниже), лучше указать размер файлов так, чтобы они занимали весь диск, чтобы избежать постоянного роста файлов.

  • Автоматическое увеличение - это этап постепенного увеличения файла tempdb. Этот параметр необходимо установить в зависимости от исходного размера. Оставьте 64 МБ, если не можете оценить будущую нагрузку. Обратите внимание: если включен IFI (мгновенная инициализация файла), время ожидания блокировки роста файла будет значительно меньше. Не рекомендуется задавать большое значение дополнительного размера, так как это приведет к значительным задержкам при увеличении размера файла.

  • Каталоги данных - это каталоги, в которых будут расположены файлы tempdb. Если вы укажете несколько каталогов, файлы будут размещены по циклическому алгоритму, т.е. е., в цикле. Другими словами, если вы укажете 4 каталога, файлы данных будут равномерно распределены по всем каталогам. Лучше всего добавлять разные дисковые массивы для файлов данных.

  • Файл журнала TempDb: начальный размер/автоматическое увеличение позволяет настроить начальный размер и шаг постепенного увеличения файла журнала tempdb. Применяются те же правила, что и для файлов данных tempdb.

  • Каталог журнала - это каталог, в котором хранится файл журнала tempdb. Существует только 1 файл журнала, независимо от количества имеющихся у вас файлов данных, и указан только 1 каталог. Если возможно, выделите также отдельный массив для файла журнала.

Вкладка MaxDOP.

MaxDOP в настройке SQL Server, которая отвечает за выполнение параллельных запросов и степень параллелизма. Чтобы ваш SQL Server использовал все ядра ЦП для обработки параллельных планов, установите

0

как значение MaxDOP. Если вы по какой-то причине хотите отключить параллельные запросы, установите

1

как ценность. Чтобы добиться максимальной производительности, настройте MaxDOP согласно правилам, приведенным в таблице ниже (https://go.microsoft.com/fwlink/?linkid=2084761):

Server configurationNumber of processorsGuidance
Server with single NUMA nodeLess than or equal to 8 logical processorsSet MAXDOP at or below # of logical processors
Server with single NUMA nodeGreater than 8 logical processorsSet MAXDOP at 8
Server with multiple NUMA nodesLess than or equal to 16 logical processors per NUMA nodeSet MAXDOP at or below # of logical processors per NUMA node
Server with multiple NUMA nodesGreater than 16 logical processors per NUMA nodeSet MAXDOP at half the number of logical processors per NUMA node with a MAX value of 16

В моем случае я установлю значение 0. Это даст мне максимальную производительность для выполнения параллельных запросов, но это также может привести к задержкам, поскольку другим процессам придется ждать завершения текущего процесса, поскольку все ядра процессора будут заняты. с выполнением текущего запроса.

Я все же рекомендую следовать правилам, перечисленным в таблице выше, для сервера с высокой нагрузкой. Также смотрите документацию по ссылке выше.

На вкладке Память укажите минимальный и максимальный объем оперативной памяти, который будет использовать ваш SQL Server. Поскольку довольно сложно оценить правильный размер сервера, рекомендуется выделить 80-85% всей оперативной памяти сервера для вашего SQL-сервера. Чтобы узнать реальный размер используемой оперативной памяти, вам необходимо отслеживать использование оперативной памяти 24 часа в сутки с помощью специальных DMV (Dynamic Management View). Вы можете оценить реальное использование оперативной памяти, только если у вас есть эти данные.

Я оставлю значения по умолчанию (мин 0 и макс 2147483647 МБ).

На вкладке FILESTREAM вы можете включить функцию FILESTREAM. Он позволяет хранить двоичные файлы в файловой системе и обеспечивает доступ к ним через SQL. Если вы не уверены, хотите ли работать с двоичными данными на уровне SQL, оставьте FILESTREAM отключенным.

Шаг «Правила настройки функций» будет выполнен автоматически. Прочтите информацию в разделе «Готово к установке» и нажмите «Установить».

Таким образом, вы завершили базовую установку SQL Server 2019 Enterprise. В следующей статье мы рассмотрим основные способы анализа производительности и проблем SQL Server.

Примечание. Некоторые вкладки или настройки могут отсутствовать в более ранних версиях (SQL Server 2014, 2016).

Статьи по данной тематике