Основни настройки и препоръки за ръководство за инсталиране на MS SQL Server 2019

В тази статия ще ви преведем през инсталирането на Microsoft SQL Server 2019 с описание на всички опции, компоненти, актуални препоръки и най-добри практики..

MS SQL Server е водещата RDBMS (система за управление на релационни бази данни), както и основният конкурент на Oracle Database в корпоративния сегмент. В ОНД MSSQL най-често се използва за вътрешно разработване на приложен софтуер и за 1С.

Съдържание:

  • Издания на MS SQL Server 2019
  • Функции за лицензиране на SQL Server
  • Стартиране на инсталирането на SQL Server
  • Опции за инсталиране на актуализации на SQL Server
  • Тип на инсталацията на SQL Server
  • Компоненти на SQL Server 2019: какво ви трябва, какво трябва да инсталирате
  • Конфигуриране на имената на инстанциите на SQL Server
  • Конфигуриране на настройките на услугите на SQL Server, кодиране
  • Конфигурирайте двигателя на бази данни в SQL Server

Издания на MS SQL Server 2019

Общо има 5 броя (издания) на MSSQL 2019:

  • Express е безплатно издание за използване. Функционалността е доста ограничена, най-забележимото ограничение на експресната версия е максималният размер на основата от 10 GB. Това издание е подходящо за малки проекти, като студентска работа или за обучение на SQL / T-SQL.
  • стандарт Това е пълноценно платено издание, но много функции все още липсват. Максималното количество RAM памет, което SQL Server може да използва, е 128 GB, има и AlwaysOn Availability Groups и други компоненти. Стандартът е предназначен за приложения в малки организации.
  • начинание включва всички възможни функции и компоненти, без ограничения. Корпоративното издание обикновено се използва от големи корпорации или компании, които се нуждаят от функционалността на тази версия..
  • предприемач изданието, както и Enterprise няма ограничения и може да се използва безплатно, но може да се използва само за разработка и тестване на приложения.
  • мрежа изданието почти не се различава от стандартното, с изключение на по-строгите ограничения във функционалността и съответно по-ниските лицензионни разходи.

Функции за лицензиране на SQL Server

MS SQL Server е лицензиран при два модела:

  • ПОВЕЧЕ - Лицензира MSSQL за сървърни ядра
  • СЪРВЪР + ЛАД - лиценз изцяло за сървъра и за всеки потребител, който ще работи със сървъра

Enterprise Edition може да бъде лицензиран само като PER CORE

Също така в MSSQL Server 2019 има нова възможност за лицензиране на контейнери, виртуални машини и големи клъстери за данни.

Вижте лицензирането на SQL Server за повече информация..

Стартиране на инсталирането на SQL Server

В тази статия ще инсталираме 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 Server

На тази стъпка можете да активирате търсенето на актуализации чрез Windows Update. Дали да активирате тази опция зависи или не. Всичко зависи от вашите изисквания за планиране на актуализацията и изискванията за устойчивост на сървъра. Ако нямате ясен план за актуализиране на сървърите си, по-добре е да оставите тази опция активирана..

На тази стъпка можете да видите следната грешка:

Грешка 0x80244022: Изключение от HRESULT: 0x80244022

Той е свързан с проблеми със услугата Windows Update. Методите за решение са описани тук https://winitpro.ru/index.php/2017/08/10/oshibka-0x80244022-i-problema-ostanovki-wsuspool/

Щракнете върху Напред.

стъпка Инсталиране на файлове за настройка ще се случи автоматично. Той ще подготви файловете за инсталиране.

Инсталирайте правила тя също ще премине автоматично, ако инсталаторът не открие проблеми, които трябва да бъдат решени преди да инсталира MSSQL (например, рестартиране на компютъра или несъвместимост на вашата версия на Windows с версията на SQL Server).

Тип на инсталацията на SQL Server

На тази стъпка можете да изберете да инсталирате нов екземпляр или да добавите функционалност към вече инсталиран екземпляр. В нашия случай изберете „Извършете нова инсталация“.

Сега трябва да въведете продуктовия ключ. Ако няма ключ, изберете Безплатно издание (например Developer), но имайте предвид, че с изданието Developer имате право само да разработвате и тествате софтуер, но не и да използвате сървъра в продуктивна среда.

На стъпалото Условия за лиценз приемете лицензионното споразумение.

Компоненти на SQL Server 2019: какво ви трябва, какво трябва да инсталирате

На този етап ще бъдете подканени да инсталирате различни компоненти на SQL Server. Нека да ги разгледаме по-подробно, да видим какво трябва да се постави в различни ситуации:

  1. Услуги за бази данни - Това е основният двигател на SQL Server. Задължително да инсталирате.
  2. Репликация на SQL Server - репликационни услуги. Компонентът се използва доста често, така че ако не сте сигурни дали имате нужда от тях, е по-добре да поставите отметка в квадратчето за инсталиране.
  3. Услуги за машинно обучение и езикови разширения - Услуги за изпълнение на R / Python / Java код в контекста на SQL Server. Задължително, ако възнамерявате да се занимавате с машинно обучение.
  4. Пълен текст и семантични извлечения за търсене - Компонентът е необходим, ако имате нужда от пълнотекстово търсене или семантично търсене в документи (например docx). В случай на семантично търсене в документи, ще ви трябва и FILESTREAM, за това по-долу.
  5. Услуги за качество на данните - услуги за корекция и валидиране на данни. Ако не сте сигурни дали имате нужда от DQS, тогава е по-добре да не го инсталирате..
  6. Услуга за търсене на PolyBase за външни данни - Технология за достъп до външни данни, като например на друг SQL Server или в Oracle Database. Java конектор за HDFS източници на данни принадлежат към технологията PolyBase и е необходим, ако искате да работите с HDFS технология.
  7. Услуги за анализ - известен още като SSAS. Технология за бизнес отчитане (BI) и работа с OLAP. Използва се в големи компании за отчитане.

След това отидете в списъка на споделени функции (функции, които се прилагат за целия сървър, а не за конкретен екземпляр).

  1. Сървър за машинно обучение (самостоятелен) - същите като Услугите за машинно обучение и езикови разширения, но с възможност за инсталиране без самия двигател на SQL Server.
  2. Клиент за качество на данните - същото като DQS, само самостоятелно.
  3. Свързване с клиентски инструменти - ODBC, OLE DB библиотеки и някои други. Препоръчваме ви да зададете.
  4. Интеграционни услуги - услуги за интегриране на данни, известни още като SSIS. Технология за ETL (Extract, Transform, Load) данни. SSIS е необходим, ако искате да автоматизирате импортирането на данни и да ги промените по време на процеса на импортиране. Мащабът Out / Master е необходим за мащабиране на SSIS. Ако не сте сигурни дали имате нужда от тях, тогава не ги маркирайте.
  5. Съвместимост с клиента - Остарели DMV и системни процедури. Препоръчвам да се сложи.
  6. SDK за инструменти на клиента - пакет ресурси за разработчици. Не можете да залагате, ако не сте сигурни дали имате нужда от това.
  7. Разпределен контролер за възпроизвеждане / клиент - копирайте и подобрете функционалността на SQL Server Profiler. Разпределените Replay услуги са необходими за моделиране на натоварването и различни видове тестове на производителност..
  8. SDK за свързване с SQL клиент - ODBC / OLE DB SDK за разработчици.
  9. Основни услуги за данни - компонент от Microsoft Power BI. Необходими за анализ на данни, валидиране, интегриране и коригиране.

Някои от тези компоненти (напр. Java конектор за HDFS източници на данни) може да не са налични в по-старите версии на SQL Server..

Малко по-ниско, на същата стъпка, можете да посочите директорията за файловете на SQL Server. Ако нямате основателна причина да го промените, оставете стандарта (C: \ програмни файлове \ Microsoft SQL Server \).

След като сте избрали необходимите MSSQL компоненти, инсталаторът проверява съвместимостта на компонентите с вашата система и ако няма проблеми, тази стъпка ще премине автоматично.

Конфигуриране на имената на инстанциите на SQL Server

Можете да оставите параметъра Екземпляр по подразбиране, в този случай името на вашия потребител ще бъде MSSQLSERVER. При избора Именен екземпляр Вие задавате името на екземпляра на SQL Server. В моя случай ще посоча инстанция DEV. Идентификационният номер на препоръчителя се препоръчва да бъде зададен на същото като името на екземпляра, за да се избегне объркване.

Инсталираните екземпляри показват MSSQL екземплярите, инсталирани на сървъра, аз вече имам такъв.

Конфигуриране на настройките на услугите на SQL Server, кодиране

В раздела Service Accounts посочете акаунти, под които услугите на SQL Server ще се изпълняват на хоста. Използването на MSA (Управлявани услуги за акаунти) и gMSA (Group Managed Service Accounts) технологии като най-надеждни по отношение на сигурността се счита за добра практика. Ще използвам обикновен акаунт в домейна.

Задайте в SQL Server агент полето Тип стартиране в автоматичен, в противен случай агентът ще трябва да стартира ръчно.

Също така, като се започне със SQL Server 2016, стана възможно да се зададе параметърът IFI (Незабавна инициализация на файлове) при инсталиране на сървъра. В инсталатора той се нарича „Предоставяне на привилегия за изпълнение на задачите за поддържане на обем на SQL Server Database Engine“. Включването му означава, че старите данни няма да бъдат презаписани с нули, когато:

  • Създаване на база данни;
  • Добавяне на данни към файлове с данни или лог файлове;
  • Увеличете размера на съществуващите файлове (включително операции за автоматично уголемяване);
  • Възстановяване на база данни / файлова група.

Това ускорява процеса на инициализиране на файлове, но намалява сигурността, тъй като старите данни не се презаписват от нули, така че старата информация, съдържаща се в тези файлове, може да бъде частично достъпна.

Препоръчвам да разрешите тази опция, ако рискът от изтичане на данни не е значителен.

В следващата стъпка трябва да изберете сверка.

Грубо казано, Collation е настройка за кодиране на SQL Server. Този параметър задава кодиране на страницата, правила за сортиране, кодиране char / varchar и други езикови настройки.

Когато инсталирате сървъра, изберете Collation за целия SQL Server. След инсталирането ще бъде възможно да промените този параметър, но няма да е лесно да направите това, така че трябва незабавно да изберете подходящия Collation за вашите задачи.

За ОНД се препоръчва да се избира Cyrillic_General_CI_AS. Ако данните са само на английски, можете да изберете SQL_Latin1_General_CP1_CI_AS.

Ако планирате да използвате SQL Server в бойна среда, проверете документацията за избор на Collation, тъй като това е важен параметър, въпреки че може да бъде зададен за конкретна база данни..

Конфигурирайте двигателя на бази данни в SQL Server

На стъпалото Конфигурация на двигателя на бази данни Налични са 6 раздела, нека започнем в ред:

В конфигурацията на сървъра трябва да изберете Режим за удостоверяване и да посочите акаунт за администратора на SQL Server.

Имате два режима за избор: Режим за удостоверяване на Windows и Смесен режим.

  • С автентификацията на Windows могат да влизат само потребители на вашия домейн или компютър, работещ под Windows.
  • В смесения режим, в допълнение към оторизацията на Windows, ще бъде на разположение разрешение според идентификационните данни на самия SQL Server.

Microsoft препоръчва използването на Windows Authentication като най-сигурната, но на практика най-вероятно ще трябва да влезете в сървъра от други приложения. Например, написани на Java, и в този случай автентификацията на SQL сървъра е незаменима..

Ако сте сигурни, че вашите потребители ще влязат само от компютри с Windows и приложения, които поддържат удостоверяване на Windows, след това изберете режима за удостоверяване на Windows.

В моя случай зададох смесен режим. В този режим ще трябва да регистрирате парола от потребителя sa и да изберете акаунт за Windows, който ще има административни права.

етикет Каталози с данни трябва да изберете директорията, в която SQL Server ще съхранява регистрационните файлове на базата данни и транзакции.

За данни е най-добре да отделите отделен RAID масив. Дисковата подсистема е от решаващо значение за производителността на SQL Server, така че трябва да изберете най-добрата опция за съхранение на данни, достъпна за вас, било то NAS или локален RAID от бързи дискове.

Добра практика е да се разпределят всички директории (системни бази данни, потребителски бази данни, дневници на потребителски бази данни, архивиране) в различни хранилища. По този начин ще постигнете максимална производителност от SQL Server на ниво работа със съхранение на данни..

В моя случай ще посоча отделен диск с RAID 1 за всички директории.

етикет TempDB параметрите за базата tempdb са конфигурирани. Правилната му конфигурация е важна за работата на сървъра, тъй като тази база данни участва в почти всички операции с данни.

  • Брой файлове - брой файлове с данни за tempdb. Трябва да посочите броя на файловете в зависимост от ядрата на процесора. Добра практика е броят на файловете да е равен на броя на процесорните ядра, разделен на 2. Тоест, 16 файла се препоръчват за 32 ядра на вашия сървър. Също така, независимо от броя на ядрата, не се препоръчва да се поставят по-малко от 8 файла, това е необходимо, за да се избегнат описаните тук проблеми https://support.microsoft.com/en-us/kb/2154845 .
  • Начален размер - начален размер на tempdb файлове с данни. Всеки път, когато сървърът се рестартира, размерът tempdb ще бъде възстановен до първоначалния си размер. Препоръчва се да посочите размера на файловете с данни в зависимост от планираното зареждане. Ако не можете да планирате бъдещото си натоварване, оставете 8 MB. Ако изберете отделен масив / диск за tempdb файлове (вижте по-долу), най-добре е да посочите размер на файла, който напълно да запълни диска, за да се избегнат постоянни операции за разширяване на файлове.
  • Autogrowth - стъпка за увеличаване на tempdb файлове. Размерът трябва да бъде зададен в зависимост от първоначалния размер. Оставете 64 MB, ако не можете да планирате натоварването. Имайте предвид, че ако IFI (Instant File Initialization) е активиран, чакането за заключване на разширението на файла ще бъде много по-малко. Не се препоръчва да задавате размера на стъпката твърде голям, тъй като това ще доведе до значителни закъснения при увеличаване на размера на файла.
  • Каталози с данни - директории за хостинг на tempdb файлове с данни. Ако посочите няколко директории, файловете ще бъдат поставени с помощта на алгоритъма Round-robin, тоест циклично. Грубо казано, когато посочвате например 4 директории, файловете с данни ще бъдат разпределени еднакво във всички директории. Добра практика е да добавите различни дискови масиви за файлове с данни..
  • Файл TempDb Log: Начален размер / Autogrowth - настройка на първоначалния размер и стъпка на увеличаване на дневника на tempdb. Трябва да следвате същите правила като за файловете с данни tempdb..
  • Дневник директория - директория за съхранение на дневника на 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. Това ще даде най-добрата ефективност за изпълнение на планове за паралелни заявки, но това може да доведе до забавяне, тъй като другите заявки ще трябва да изчакат, докато текущата заявка приключи, защото всички процесорни ядра ще бъдат заети с изпълнението на текущата заявка.

За „бит“ сървър все пак препоръчвам да следвате правилата от таблицата, както и да прочетете документацията на връзката по-горе.

добавям памет - Трябва да посочите минималния и максималния размер на RAM, който ще използва SQL Server. Тъй като е доста трудно да се предвиди необходимия обем за сървъра, се препоръчва SQL Server да бъде разпределен 80-85% от общата сървърна оперативна памет. За да разберете реалното количество използвана RAM памет, трябва да следите потреблението на памет чрез специален DMV (Dynamic Management View) денонощно и да наблюдавате пиковете на RAM паметта. Само с наличието на тази информация можете да прогнозирате реалното потребление на RAM.

Ще оставя стойностите по подразбиране (min 0 и max 2147483647 MB).

Раздел FILESTREAM - активирайте FILESTREAM технологията. Тя ви позволява да съхранявате двоични файлове във файловата система и осигурява достъп до тях чрез SQL. Ако не сте сигурни, че искате да работите с двоични данни на ниво SQL, оставете FILESTREAM изключен.

Стъпката с правила за конфигуриране на функции ще премине автоматично. Прочетете обобщението в Готов за инсталиране и щракнете върху Инсталиране.

С това завършва основната инсталация на SQL Server 2019 Enterprise. В следващата статия ще разгледаме основните начини за анализ на производителността и проблемите в SQL Server..

Забележка. В по-старите версии (SQL Server 2014, 2016) някои раздели и опции може да не са налични.