Андрей Смирнов
Время чтения: ~23 мин.
Просмотров: 161

Установка и настройка Microsoft SQL Server Express

1cv8-mssql-000.jpgТему установки MS SQL Server обычно обходят стороной. Действительно, трудно не установить эту СУБД, даже делая это в первый раз, столь же трудно не запустить в связке с ней Сервер 1С:Предприятия. Однако есть ряд неочевидных тонкостей, которые способны существенно отравить жизнь администратору, о чем мы сегодня и расскажем.

MS SQL Server занимает первое место по количеству внедрений в связке с 1С:Предприятием, во многом это объясняется низким порогом вхождения, осилить данную связку вполне способен человек без опыта, сугубо по методу Next — Next — Finish. И, что самое интересное, все это будет работать. Скажем больше, в подавляющем большинстве случаев настройки SQL-сервера по умолчанию более чем достаточно для обеспечения производительной работы сервера 1С:Предприятия и трогать их не только не нужно, но даже вредно.

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

Прежде всего следует вспомнить про системную базу tempdb, которая активно используется 1С для хранения временных таблиц и промежуточных результатов. Причем она используется сразу всеми базами 1С, работающими на сервере. А так как по умолчанию она располагается в папке установки SQL-сервера, т.е. на системном диске, то при увеличении нагрузки именно tempdb становится бутылочным горлышком для всего сервера. Очень часто это приводит к ситуациям: купили быстрые HDD / SSD, дисковых ресурсов хватает, а 1С тормозит, что способно вызвать у начинающих администраторов серьезные затруднения.

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

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

Установка MS SQL Server для работы с 1С:Предприятие

Как мы уже говорили, установка SQL-сервера предельно проста, и мы не будем описывать этот процесс подробно, обратив внимание лишь на необходимые настройки. Начнем с выбора компонентов, так как 1С не использует большинство механизмов SQL-сервера и если вы не собираетесь их использовать для иных целей, то оставляем только Database Engine, Средства связи клиентских средств и Средства управления (опционально). 

1cv8-mssql-001-thumb-450x335-3919.jpg

Средства управления можно не устанавливать на сервер, а установить отдельно на рабочее место администратора и управлять оттуда всеми доступными серверами MS SQL.

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

1cv8-mssql-002-thumb-450x335-3891.jpgВ Конфигурации сервера укажите Смешанный режим проверки подлинности и задайте пароль суперпользователю SQL — sa. Также укажите ниже администраторов данного экземпляра SQL-сервера, по умолчанию там уже находится учетная запись из-под которой произведена установка, но если администрировать данный экземпляр должны также другие пользователи, то имеет смысл сразу их указать.

1cv8-mssql-003-thumb-450x337-3894.jpgСледующая закладка — Каталоги данных — требует самого пристального внимания. Обязательно укажите в качестве места хранения пользовательских баз и базы tempdb место на производительном массиве или отдельном диске. Несмотря на то, что расположение базы можно указывать при ее создании, задание правильных настроек по умолчанию избавляет вас от лишней работы, а также от ситуации, когда база создается средствами 1С и оказывается в каталоге по умолчанию, т.е. на системном диске. Также сразу можете указать каталог для хранения резервных копий.

1cv8-mssql-004-thumb-450x336-3897.jpgОстальные настройки можно оставить по умолчанию и завершить установку.

Настройка MS SQL Server для работы с 1С:Предприятие

Если вы имеете дело с уже установленным экземпляром SQL-сервера, убедитесь, что кодировка сравнения Cyrillic_General_CI_AS, в противном случае данные следует выгрузить средствами 1С, а сервер переустановить (или установить еще один экземпляр, если данный используется другими службами).

Для этого откройте Managment Studio, выберите необходимый экземпляр SQL-сервера и щелкнув на нем правой кнопкой мыши перейдите к Свойствам.

1cv8-mssql-005-thumb-450x327-3900.jpgЗатем перейдите к закладке Память и укажите доступный SQL-серверу объем ОЗУ, в противном случае SQL-сервер будет стремиться утилизировать всю доступную память. В ситуации совмещения ролей SQL-сервера с другими ролями, а в небольших и средних внедрениях он, как правило, расположен на одной машине с сервером 1С, следует из общего количества памяти вычесть необходимое системе и серверу 1С, отдав SQL то, что останется. 

Дать однозначные рекомендации тут сложно, все зависит от объема обрабатываемых данных, на практике имеет смысл выделить SQL-серверу половину свободной памяти, впоследствии скорректировав данное значение исходя из ее фактической загрузки.

1cv8-mssql-006-thumb-450x328-3903.jpgСледующая настройка будет связана с безопасностью. Для подключения 1С к серверу чаще всего используется учетная запись sa, что, мягко говоря, небезопасно, так как дает вошедшему под ней полный доступ к SQL-серверу. Учитывая, что администрированием баз 1С часто занимаются сторониие специалисты, то имеет смысл создать для них отдельную учетную запись.

Для этого раскройте Безопасность — Имена входа и создайте новое имя (учетную запись), укажите проверку подлинности SQL-сервер и задайте пароль.

1cv8-mssql-007-thumb-450x331-3906.jpgЗатем перейдите на закладку Роли сервера и разрешите dbcreator, processadmin и public.

1cv8-mssql-008-thumb-450x330-3909.jpgПосле чего используйте для подключения к SQL-серверу из 1С именно эту учетную запись.

Еще одна настройка относится к уже созданным базам данных, откройте свойства нужной БД и прейдите на закладку Файлы. Найдите опцию Автоувеличение/максимальный размер для файла данных. По умолчанию там стоит 1 Мб, что весьма неоптимально, при активной работе с базой СУБД только и будет заниматься тем, что увеличивать размер файла, кроме того при активной работе нескольких баз это будет приводить к значительной фрагментации файла данных. Поэтому исходя из размера базы и активности работы задайте более высокое значение, которое не будет приводить к постоянному увеличению файла БД.

1cv8-mssql-009-thumb-450x403-3912.jpgПеренос базы tempdb

В заключение нашей статьи снова обратимся к базе tempdb, часто встречаются ситуации, когда файл этой БД требуется перенести в другое место. Например сервер был установлен с параметрами по умолчанию и tempdb находится на системном разделе, или вы приобрели SSD и хотите пренести туда не только базы, но и tempdb (что является правильным решением). Также при большой нагрузке на tempdb его рекомендуется выносить на отдельный диск. 

Для того, чтобы изменить место расположения файла tempdb откройте  Managment Studio, выберите Создать запрос и в открывшемся окне введите следующий текст, где E:NEW_FOLDER — новое расположение для базы:

use masteralter database tempdbmodify file(name = tempdev,filename = N'E:NEW_FOLDERtempdb.mdf')goalter database tempdbmodify file(name = templog,filename = N'E:NEW_FOLDERtemplog.ldf')go

Затем нажмите Выполнить, после выполнения запроса перезапустите SQL-сервер, файлы базы и лога tempdb будут создан в новом месте, файлы по старому расположению следует удалить вручную.

1cv8-mssql-010-thumb-450x208-3915.jpgНа этом мы сегодня закончим, напоследок напомнив не забывать про обслуживание баз и резервные копии.

Дополнительные материалы:

  1. Обслуживание баз 1С в MS SQL Server. Часть 1
  2. Обслуживание баз 1С в MS SQL Server. Часть 2
  3. Обслуживание баз 1С в MS SQL Server. Часть 3

Требования к аппаратному обеспечению

Минимальные:

Рекомендуемые:

Требования к программному обеспечению

Необходимо наличие установленных пакетов:

  • Microsoft .NET Framework 3.5 SP1 (в Windows 7 и Server 2008 R2 просто включить в списке компонентов ОС);
  • Windows Installer 4.5 (в Windows 7 и Server 2008 R2 входит в состав ОС);
  • Windows PowerShell 1.0 (в Windows 7, Server 2008 и Server 2008 R2 входит в состав ОС).

Поддерживаемые операционные системы:

  • Windows XP SP3,
  • Windows Server 2003 SP2,
  • Windows Vista SP2,
  • Windows Server 2008 SP2,
  • Windows 7,
  • Windows Server 2008 R2.

Более подробную информацию можно найти на сайте корпорации Microsoft.

Примечание. Бесплатную версию Microsoft SQL Server 2008 R2 Express Edition можно скачать на сайте корпорации Microsoft:

  • SQLEXPRADV_x64_RUS.exe – для 64-разрядных ОС;
  • SQLEXPRADV_x86_RUS.exe – для 32-разрядных ОС или установки в режиме WOW64.

Внимание! Для установки ПО «Альта-ГТД» необходимо скачивать именно редакцию «Express Edition с доп. службами»!

Для «тихой» установки (со стандартными параметрами) бесплатной версии SQL Server Express Edition с доп. службами запустите программу установки компании «Альта-Софт» (setup.exe или altastp.exe) с правами администратора и воспользуйтесь кнопкой «SQL» (при запуске с фирменного DVD-диска доступ в интернет не потребуется). При необходимости проделайте дополнительные действия, описанные в разделах про Брандмауэр (FireWall) и Не русскоязычную ОС, все остальные нижеописанные действия выполнять уже не понадобится. Для доступа к SQL Server с правами администратора используйте логин «sa» и пароль «Alta-Soft», либо вариант «Авторизация Windows», зайдя в систему под учетной записью администратора локального компьютера.

Установка Microsoft SQL Server 2008/2008 R2

  1. Запустить программу-установщик с правами администратора на данном компьютере.
  2. В разделе «Планирование» нажать пункт «Средство проверки конфигурации»:

MS_SQL_2008_image001.jpg

  1. (*) Нажать кнопку «Показать подробности» и убедиться, что все проверки успешно пройдены. Если будут обнаружены какие-то проблемы, то необходимо их устранить и запустить повторную проверку кнопкой «Включить заново». Затем закрыть данное окно кнопкой «ОК»:

MS_SQL_2008_image002.jpg

  1. Нажать на раздел «Установка» и затем пункт «Новая установка изолированного SQL Server или добавление компонентов …»:

MS_SQL_2008_image003.jpg

  1. (*) Нажать кнопку «Показать подробности» и убедиться, что все проверки успешно пройдены. Если будут обнаружены какие-то проблемы, то необходимо их устранить и запустить повторную проверку кнопкой «Включить заново». Затем нажать кнопку «ОК»:

MS_SQL_2008_image004.jpg

  1. (*) Ввести приобретенный ключ продукта (для бесплатной версии не требуется) и нажать кнопку «Далее»:
  1. Прочитать лицензию, установить галочку «Я принимаю условия…» и нажать кнопку «Далее»:
  1. (*) Нажать кнопку «Установить»:
  1. (*) Нажать кнопку «Показать подробности» и убедиться, что все проверки успешно пройдены. Если будут обнаружены какие-то проблемы, то необходимо их устранить и запустить повторную проверку кнопкой «Включить заново». Затем нажать кнопку «Далее»:

Примечание. Если появится предупреждение в строке «Брандмауэр Windows», то его можно проигнорировать – оно просто акцентирует Ваше внимание на том, что потребуется дополнительная настройка «Брандмауэра Windows» для доступа к SQL Server с других компьютеров (см. ниже).

  1. Выбрать компоненты для установки (рекомендуется воспользоваться кнопкой «Выделить все»), и нажать кнопку «Далее»:

Внимание! Для нормального функционирования ПО «Альта-ГТД» необходимо обязательно установить компонент «Полнотекстовый поиск»! Кроме того, для управления самим SQL Server необходимо установить компонент «Средства управления — основные»!

  1. Выбрать опцию «Экземпляр по умолчанию» и нажать кнопку «Далее»:
  1. (*) Нажать кнопку «Далее»:
  1. Выбрать опции, как показано на рисунке, и перейти на закладку «Параметры сортировки»:

Примечание. Если Вы хотите использовать «SQL Server Agent» (встроенный планировщик заданий, в бесплатную версию не входит) для выполнения регулярного резервного копирования файлов БД на другой компьютер в своей локальной сети (рекомендуется) и Ваша сеть построена с использованием домена Windows NT, то необходимо завести в Вашем домене отдельную учетную запись для SQL Server Agent и предоставить ей права на соответствующие ресурсы (более подробную информацию можно найти в справочной системе SQL Server). При такой конфигурации, в этом окне необходимо в поля «Имя учетной записи» и «Пароль» ввести имя созданной учетной записи (вида ДОМЕНИМЯ) и ее пароль, как минимум для службы «SQL Server Agent».

  1. Выбрать опции, как показано на рисунке, и нажать кнопку «Далее»:

Примечание. Чтобы изменить опцию нажмите расположенную рядом кнопку «Настройка» и установите параметры, как показано на следующем рисунке:

Внимание. Данную настройку нельзя будет изменить после установки. Будьте внимательны!

  1. Выбрать опцию «Смешанный режим» и задать пароль для встроенной учетной записи администратора «sa» (эта учетная запись обладает максимальными правами доступа ко всем функциям и объектам на SQL-сервере). Дополнительно можно указать учетные записи пользователей Windows или целые группы пользователей Windows, которые должны обладать максимальными правами доступа к SQL Server (например, встроенную группу «Администраторы»). Затем перейти на закладку «Каталоги данных»:
  1. В поле «Корневой каталог данных» ввести путь к папке, где будут размещаться файлы баз данных (рекомендуется использовать отдельный от ОС физический диск), и нажать кнопку «Далее»:
  1. Выбрать опции, как показано на рисунке, и нажать кнопку «Далее»:
  1. Выбрать опции, как показано на рисунке, и нажать кнопку «Далее»:
  1. (*) Нажать кнопку «Показать подробности» и убедиться, что все проверки успешно пройдены. Если будут обнаружены какие-то проблемы, то необходимо их устранить и запустить повторную проверку кнопкой «Включить заново». Затем нажать кнопку «Далее»:
  1. (*) Нажать кнопку «Установить»:
  1. (*) После завершения установки нажать кнопку «Далее»:
  1. Нажать кнопку «Закрыть»:
  1. Запустить утилиту «Диспетчер конфигурации SQL Server» (Пуск→Все программы→Microsoft SQL Server 2008→Средства настройки→Диспетчер конфигурации SQL Server). В разделе «Сетевая конфигурация SQL Server»→«Протоколы для …» нажать правой кнопкой мыши на строке «TCP/IP» и в контекстном меню выбрать пункт «Свойства»:
  1. На закладке «Протокол» установить параметр «Включено» = «Да», а на закладке «IP-адреса» в разделе «IPAll» параметр «TCP-порт» = «1433». Затем нажать кнопку «ОК»:
  1. В разделе «Службы SQL Server» нажать правой кнопкой мыши на строке «SQL Server (…)» и в контекстном меню выбрать пункт «Перезапустить» (этот пункт можно пропустить, если Вы перезагрузите компьютер после завершения остальных настроек):
  • Если на компьютере установлен какой-либо FireWall, то в нем необходимо разрешить входящие соединения по протоколу TCP/IP на порт 1433 (для подключения к SQL Server с других компьютеров), а также по протоколу UDP на порт 1434 (для того чтобы другие компьютеры могли обнаруживать данный экземпляр SQL Server). В стандартном «Брандмауэре Windows» (Панель управления→Брандмауэр Windows) для этого необходимо на закладке «Исключения» дважды «Добавить порт»:

Примечание. В Windows 7 вместо этого надо создать два правила – см. статью

  1. После завершения установки и настройки рекомендуется перезагрузить компьютер.

ВНИМАНИЕ! При установке SQL Server на НЕ русскоязычную ОС Windows необходимо в «Control Panel»→«Regional and Language Options» на закладке «Advanced» поставить язык «Russian» в параметре «Language for non-Unicode programs», затем перезагрузить компьютер:

В этой статье мы пошагово рассмотрим установку Microsoft SQL Server 2019 с описанием всех опций, компонентов, актуальных рекомендаций и best practice.

MS SQL Server это лидирующая РСУБД (Реляционная система управления базами данных) а также главный конкурент Oracle Database в корпоративном сегменте. В СНГ MSSQL чаще всего применяется для собственных разработок прикладного ПО и для 1С.

Содержание:

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

Всего есть 5 выпусков (редакций) MSSQL 2019:

  • Express является бесплатной для использования редакцией. Функционал довольно ограничен, самое ощутимое ограничение экспресс версии — максимальный размер базы 10 ГБ. Эта редакция подойдет для небольших проектов, например, студенческих работ или для обучения SQL/T-SQL.
  • Standard это полноценная платная редакция, но многих функций всё еще нет. Максимальный объём оперативной памяти, который сможет использовать SQL Server – 128 ГБ, также отсутствуют группы доступности AlwaysOn и другие компоненты. Standard предназначен для приложений в небольших организациях.
  • Enterprise включает в себя все возможные функции и компоненты, никаких ограничений нет. Корпоративная редакция обычно используется крупными корпорациями или компаниями, которым необходим функционал этой версии.
  • Developer редакция так же как и Enterprise не имеет никаких ограничений и её можно использовать бесплатно, но она может использоваться только для разработки и тестирования приложений.
  • Web редакция почти ничем не отличается от standard, кроме как более сильными ограничениями в функционале и соответственно более низкой стоимости лицензирования.

Особенности лицензирования 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”.

ustanovshik-ms-sql-server-2019.png

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

Параметры обновлений SQL Server при установке

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

На этом шаге вы можете увидеть такую ошибку:

Error 0x80244022: Exception from HRESULT: 0x80244022 oshibka-ustanovki-sql-server-error-0x80244022-exc.png

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

Нажмите Next.

Шаг Install Setup Files произойдет автоматически. Он подготовит файлы для установки.

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

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

На этом шаге вы можете выбрать установку нового экземпляра или добавление функционала в уже установленный экземпляр. В нашем случае выбираем “Perform a new installation”. vybor-tipa-ustanovki-sql-server-novaya-ustanovka.png

Теперь нужно ввести ключ продукта. Если нет ключа, выбирайте Free edition (например, Developer), но имейте в виду, что с редакцией Developer вы имеете право только разрабатывать и тестировать ПО, но не использовать сервер в продуктивной среде. vvesti-klyuch-ustanovki-sql-server.png

На шаге License Terms принимаем лицензионное соглашение.

Компоненты SQL Server 2019: для чего нужны, какие нужно установить

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

  1. Database Engine Services – это основной движок SQL Server. Обязателен к установке.
  2. SQL Server Replication – службы репликации. Компонент довольно часто используются, поэтому если вы не уверены нужны ли они вам, то лучше отмечайте для установки.
  3. Machine Learning Services and Language Extensions – службы для выполнения R/Python/Java кода в контексте SQL Server. Необходимо, если вы собираетесь заниматься Machine Learning.
  4. Full-Text and Semantic Extractions for Search – компонент необходим, если вам нужна полнотекстовая технология поиска или семантический поиск в документах (например docx). В случае семантического поиска по документам, вам также понадобиться FILESTREAM, о нём ниже.
  5. Data Quality Services – службы для коррекции и валидации данных. Если вы не уверены нужен ли вам DQS, то лучше не устанавливайте его.
  6. PolyBase Query Service For External Data – технология для доступа к внешним данным, например на другом SQL Server или в Oracle Database. Java connector for HDFS data sources относиться к PolyBase технологии и нужен в случае если вы хотите работать с HDFS технологией.
  7. Analysis Services – также известен как SSAS. Технология для бизнес-отчетов (BI) и работы с OLAP. Используется в крупных компаниях для отчетности.

Дальше переходим к списку Shared Features (функций, распространяющихся на весь сервер, а не на конкретный экземпляр).

  1. Machine Learning Server (Standalone) – то же самое что и Machine Learning Services and Language Extensions, но с возможностью установки без самого движка SQL Server.
  2. Data Quality Client – то же самое что и DQS, только standalone.
  3. Client Tools Connectivity – библиотеки ODBC, OLE DB и некоторые другие. Рекомендем ставить обязательно.
  4. Integration Services – службы интеграции данных, известны также как SSIS. Технология для ETL (Extract, Transform, Load) данных. SSIS нужны, если вы хотите автоматизировать импорт данных и менять их в процессе импорта. Scale Out Master/Worker нужны для масштабирования работы SSIS. Если вы не уверены нужны ли они вам, то не отмечайте их.
  5. Client Tools Backwards Compatibility – устаревшие DMV и системные процедуры. Рекомендую ставить.
  6. Client Tools SDK – пакет с ресурсами для разработчиков. Можно не ставить, если не уверены, нужен ли он вам.
  7. Distributed Replay Controller/Client – повторяют и улучшают функционал SQL Server Profiler. Службы Distributed Replay нужны для моделирования нагрузки и для различного рода тестирования производительности.
  8. SQL Client Connectivity SDK – ODBC/OLE DB SDK для разработчиков.
  9. Master Data Services – компонент из Microsoft Power BI. Нужен для анализа, валидации, интеграции и коррекции данных.

Некоторые из этих компонентов (например, Java connector for HDFS data sources) могут отсутствовать в более старых версиях SQL Server.

Чуть ниже, на этом же шаге, вы можете указать директорию для файлов SQL Server’a. Если у вас нет весомых причин менять её, то оставьте стандартную (C:Program FilesMicrosoft SQL Server).

komponenty-sql-server-kakie-nuzhno-ustanalivat-ob.png

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

Настройка именования экземпляра SQL Server

Вы можете оставить параметр Default Instance, в таком случае имя вашего экземпляра будет MSSQLSERVER. При выборе Named Instance вы сами указываете имя экземпляра SQL Server. В моём случае я назову экземпляр DEV. Instance ID рекомендуется ставить такой же, как и имя экземпляра, во избежание путаницы.

В Installed instances отображаются установленные на сервере экземпляры MSSQL, у меня уже есть один.sql-server-named-instance-ili-default-ekzemplyar.png

Настройка параметров служб 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”. Его включение означает, что старые данные не будут перезаписываться нулями при:

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

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

Рекомендую включать этот параметр, если опасность утечки данных несущественна.

zapusk-sql-server-pod-domennoj-uchetnoj-zapisyu.png

На следующем шаге вы должны выбрать Collation.

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

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

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

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

sql-server-2019-kodirovka-collation.png

Настройка 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 аккаунт, который будет обладать административными правами.

tip-autentfikacii-sql-server-windows-authenticati.png

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

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

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

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

put-k-bazam-dannyh-i-katalogam-bekapov-sql-server.png

На вкладке 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 директория. Если есть возможность, лог файлу также выделите отдельный массив.

nastrojka-parametrov-tempdb-v-sql-server.png

Вкладка 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).

nastrojka-vydeleniya-pamyati-dlya-sql-server.png

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

Шаг Feature Configuration Rules пройдет автоматически. Ознакомьтесь со сводкой в Ready to Install и жмите Install.

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

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

  • https://interface31.ru/tech_it/2014/01/ustanovka-i-nastroyka-ms-sql-server-dlya-1spredpriyatie.html
  • https://www.alta.ru/support/24/
  • https://winitpro.ru/index.php/2020/01/15/guide-ustanovka-ms-sql-server-best-practices/

Рейтинг автора
5
Подборку подготовил
Максим Уваров
Наш эксперт
Написано статей
171
Ссылка на основную публикацию
Похожие публикации