Как установить sql server
Как установить sql server
Добрый день! Уважаемые читатели и гости одного из крупнейших IT блогов в России Pytilistnik.org. В прошлый раз мы с вами научились использовать утилиту robocopy для синхронизации файловых шар, это было интересно. В сегодняшней публикации я бы хотел подробно остановиться на установке и базовой настройке Microsoft SQL Server 2019 в Windows Server 2019. Уверен, что многие уже потихоньку начинают на нее переходить.
Что такое SQL Server 2019
Подобно другому программному обеспечению СУБД, SQL Server построен на основе SQL, стандартного языка программирования для взаимодействия с реляционными базами данных. Сервер SQL связан с Transact-SQL или T-SQL, реализацией SQL от Microsoft, которая добавляет набор проприетарных программных конструкций.
SQL Server работает исключительно в среде Windows более 20 лет. В 2016 году Microsoft сделала его доступным для Linux. SQL Server 2017 стал общедоступным в октябре 2016 года и работал как в Windows, так и в Linux. 2019 версия также поддерживает Linux и Docker.
Архитектура SQL Server
SQL Server состоит из двух основных компонентов:
Database Engine
Основным компонентом SQL Server является компонент Database Engine. Компонент Database Engine состоит из реляционного механизма, который обрабатывает запросы, и механизма хранения, который управляет файлами базы данных, страницами, индексами и т. д. Объекты базы данных, такие как хранимые процедуры, представления и триггеры, также создаются и выполняются компонентом Database Engine.
Реляционный движок (Relational Engine)
Реляционный движок содержит компоненты, определяющие наилучший способ выполнения запроса. Relational Engine также известен как обработчик запросов. Реляционный механизм запрашивает данные из механизма хранения на основе входного запроса и обрабатывает результаты. Некоторые задачи реляционного механизма включают обработку запросов, управление памятью, управление потоками и задачами, управление буфером и распределенную обработку запросов.
Движок хранения (Storage Engine)
Механизм хранения отвечает за хранение и извлечение данных из систем хранения, таких как диски и SAN.
SQLOS
Под реляционным механизмом и хранилищем понимается операционная система SQL Server или SQLOS. SQLOS предоставляет множество сервисов операционной системы, таких как управление памятью и вводом-выводом. Другие услуги включают в себя обработку исключений и услуги синхронизации.
Саму архитектуру работы SQL сервера можно проиллюстрировать в виде такой диаграммы.
Редакции MS SQL Server 2019
В отличии от 2016 версии в MS SQL 2019 уже пять редакций
Лицензирование SQL Server 2019
Давайте теперь разберемся с лицензированием SQL Server 2019. SQL Server 2019 предлагает клиентам различные лицензии, варианты соответствуют предполагаемой нагрузке БД в проектах клиентов. Есть две основные модели лицензирования которые применяются к SQL Server:
Для каждого физического процессора на сервере требуется минимум четыре основных лицензии. Чтобы определить и приобрести необходимое количество основных лицензий, клиенты должны:
Модель лицензирования на ядро подходит, когда:
Стоимость SQL Server 2019
Вот сводная таблица с ценами, можете посмотреть, что SQL Server 2019 Enterprise стоит как машина, аж почти 14 000 долларов.
Для покупки и продления подписок на лицензии SQL
Требования к установке SQL Server 2019
Вот матрица поддерживаемых операционных систем для установки разных редакций SQL Server 2019.
Где скачать MS SQL Server 2019
Для загрузки дистрибутива SQL Server 2019 Evaluations со 180 дневным пробным периодом с функционалом Enterprise вы должны перейти по ссылке:
https://www.microsoft.com/ru-ru/evalcenter/evaluate-sql-server-2019 (Русская версия)
Скачиваем тонкий exe клиент.
Заполняем поля помеченные звездочками, после чего загружаем клиента для выкачки основного дистрибутива.
Запустите тонкого клиента SQL2019-SSEI-Eval.exe. У вас появится форма загрузки SQL Server 2019 Evaluation Edition. В меню выберите пункт «Скачать носитель«.
Укажите папку для хранения установочных файлов, которые будет загружен установщиком, затем нажмите кнопку «Скачать». На выбор будет два варианта, это EXE файл или ISO.
Начнется процесс загрузки дистрибутива по указанному расположению.
Как видим, все успешно загрузилось.
Установка MS SQL Server 2019
Теперь давайте распакуем наш дистрибутив, для этого просто запустите скачанный EXE файл. Вас попросят указать место куда нужно все выгрузить.
В результате вы получите вот такую структуру файлов, запускаем SETUP.EXE.
Переходим в раздел «Установка (installation)» и выбираем пункт «Новая установка изолированного экземпляра SQL Server или добавление компонентов к существующей установке (New SQL Server stand-alone installation or add features to an existing installation)».
Следующим шагом вам необходимо указать, какую редакцию SQL 2019 вы будите устанавливать, я выбрал «Developer«. Если у вас «Standard» или «Enterprise», то необходимо будет указать ключ лицензии.
Читаем и принимаем лицензионное соглашение, после чего нажимаем далее.
Следующий шаг предложит вам проверить и установить обновления для вашей системы, я пропущу данный пункт, так как у меня все свежее.
Если у центра обновления есть проблемы с обращением на сервера Microsoft, то вы легко можете получать ошибки 0x8024402c или 0x80244022.
Установка проверяет наличие предварительных условий перед установкой. Если ошибки не найдены, нажмите кнопку «Далее».
Выберите функции, которые вы хотите установить. На данный момент вам просто нужны службы ядра СУБД (Database Engine) и соединение с клиентскими средствами, просто установите флажок и нажмите кнопку «Далее», чтобы продолжить. Ниже я опишу все компоненты MS SQL 2019.
Компоненты SQL Server 2019 и их назначение
При установке вам предлагают установить различные компоненты SQL Server. Пройдемся по ним подробнее, посмотрим какие нужно ставить в различных ситуациях:
Общие функции SQL Server 2019
Нужно помнить, что функции распространяются на весь сервер, а не на отдельный инстанс
Настройка именования экземпляра SQL Server
На данном шаге у вас есть возможность изменить стандартное имя экземпляра MSSQLSERVER на нужное вам. Для этого выберите соответствующую строку и введите нужное вам имя, в моем примере, это будет RDCB. Я рекомендую делать у идентификатора экземпляра такое же имя, чтобы не было путаницы.
Настройка параметров запуска служб SQL Server 2019
После того, как вы выбрали нужные компоненты, вам необходимо настроить от имени каких учетных записей будет происходить их работа. Я настоятельно рекомендую, как минимум создать отдельную учетную запись в домене для запуска агента SQL и ядра. Напоминаю, что в Windows есть технология управляемых служебных записей (Managed Service Accounts – MSA), с ее помощью можно еще более безопасно все настроить. Выставите тип запуска агента и ядра на автоматический.
Очень важно на этапе установки выбрать правильную кодировку. Хочу отметить, что это необходимо сделать отталкиваясь от того ПО для которого требуется SQL Server. Кодировка будет установлена для страниц, char/varchar и т.д. Хочу отметить, что если вы ошиблись на этапе установки с выбором Collation, то потом поменять можно.
Если у вас данные будут исключительно на английском, то выберите SQL_Latin1_General_CP1_CI_AS, в моем случае сервер локализован под русский язык, так что я оставлю все как по умолчанию Cyrillic_General_CI_AS.
Настройка ядра СУБД в SQL Server
Укажите режим безопасности ядра базы данных. Сначала выберите «Смешанный режим». Затем введите пароль для учетной записи системного администратора (sa) на SQL Server. Затем повторно введите тот же пароль, чтобы подтвердить его. После этого нажмите кнопку «Добавить текущего пользователя», чтобы и у него были права администратора.
Напомню разницу между двумя режимами доступа:
Далее вы можете изменить стандартное расположение каталогов данных. Например транзакционные логи и расположение базы изменить на отдельные диски. Тут все завит от того как у вас построена дисковая архитектура сервера, это могут быть отдельные LUN или же просто локальные диски в RAID массиве.
Хорошей практикой считается разнесение всех директорий (системных баз данных, пользовательских баз данных, логов пользовательских баз данных, резервных копий) на разные хранилища.
Произвести заранее настройку TempDB, задав начальный размер, авторасширение, расположение, немного подробнее про каждый:
Более тонко выставить настройки параллелизма.
Что такое MAXDOP и почему это важно?
Когда SQL Server работает на компьютере с более чем одним процессором или процессором, он обнаруживает наилучшую степень параллелизма, то есть число процессоров, используемых для выполнения одного оператора, для каждого запроса, который имеет план параллельного выполнения. Вы можете использовать параметр максимальной степени параллелизма, чтобы ограничить число процессоров, используемых для выполнения параллельного плана, и не допустить, чтобы побочные запросы влияли на производительность SQL Server, используя все доступные ЦП.
Какие значения я должен использовать для MAXDOP?
Microsoft Premier Filed Engineer дал нам некоторые рекомендации, которым нужно следовать и учитывать при настройке функции MAXDOP.
При необходимости выставить настройки по потребляемой памяти.
Тут же можно настроить обращение к внешним источникам
остается нажать только кнопку «Установить»
Сам процесс установки SQL Server 2019 сильно зависит от вашей дисковой подсистемы. Дожидаемся успешного завершения.
Далее, чтобы произвести подключение к вашей базе данных вы должны установить SQL Server Management Studio.
Инструкция по установке MS SQL Server 2019: основные настройки и рекомендации
В этой статье мы пошагово рассмотрим установку Microsoft SQL Server 2019 с описанием всех опций, компонентов, актуальных рекомендаций и best practice.
MS SQL Server это лидирующая РСУБД (Реляционная система управления базами данных) а также главный конкурент Oracle Database в корпоративном сегменте. В СНГ MSSQL чаще всего применяется для собственных разработок прикладного ПО и для 1С.
Редакции MS SQL Server 2019
Всего есть 6 выпусков (редакций) MSSQL 2019:
Особенности лицензирования SQL Server
MS SQL Server лицензируется по 2 моделям:
Enterprise редакция может быть лицензирована только по типу PER CORE
Также в MSSQL Server 2019 появилась новая возможность для лицензирования контейнеров, виртуальных машин и Big Data Clusters.
Начало установки SQL Server
В этой статье мы будем устанавливать MS SQL Server 2019 Enterprise Edition на Windows Server 2019.
В инсталляторе SQL Server можно выполнить много других действий: обновить старый экземпляр, починить сломанный и некоторые другие вещи.
Параметры обновлений SQL Server при установке
На этом шаге вы можете включить поиск обновлений через Windows Update. Включать эту опцию или нет, решать вам. Всё зависит от вашей планировки обновлений и от требований к отказоустойчивости сервера. Если у вас нет четкого плана обновлений ваших серверов, лучше оставьте этот параметр включенным.
Error 0x80244022: Exception from HRESULT: 0x80244022
Шаг 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. Пройдемся по ним подробнее, посмотрим какие нужно ставить в различных ситуациях:
Дальше переходим к списку Shared Features (функций, распространяющихся на весь сервер, а не на конкретный экземпляр).
Некоторые из этих компонентов (например, 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 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. Её правильная конфигурация важна для производительности сервера, так как эта база участвует практически во всех операциях с данными.
Вкладка 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.