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

Ускоряем MS SQL Server для 1С в 2 раза

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

Общие настройки

Запускаем SQL Server Management Studio и вводим данные для подключения к серверу баз данных.

Кликаем правой кнопкой мыши по серверу и выбираем Свойства:

Lepkov-mssql-tweak-1c-01.jpg

В открывшемся окне переходим на вкладку «Память» и ограничиваем потребление оперативной памяти в графе «Максимальный размер памяти сервера (МБ)»:

Lepkov-mssql-tweak-1c-02.jpg

* максимальный размер рассчитывается так: вся оперативная память сервера минус 4096 Мб (на нужды системы) минус 1536 * количество процессов rphost. Например, если в сервере установлено 32 Гб оперативной памяти и присутствует 2 процесса rphost, расчет будет таким: 32768 — 4096 — (2 * 1536) = 25600.

Теперь переходим на вкладку «Процессоры» и выставляем «Максимальное число рабочих потоков» в значение 2048 и ставим галочку Поддерживать приоритет SQL Server:

Lepkov-mssql-tweak-1c-03.jpg

Настройки базы данных

В SQL Server Management Studio раскрываем «Базы данных», кликаем правой кнопкой мыши по рабочей базе и нажимаем Свойства:

Lepkov-mssql-tweak-1c-04.jpg

Теперь переходим на вкладку «Файлы» и в настройках Авторасширения настраиваем расширение файла базы до 250 Мб и лога до 100. Также не лишним будет ограничить размер лога до 4096 Мб:

Нажимаем OK и закрываем Management Studio

Результат

Для проверки результатов оптимизации, запустим отладку, замер производительности и сформируем оборотно-сальдовую ведомость.

Было, миллисекунды

Стало, миллисекунды

На этом всё, если у Вас появились вопросы или есть какие-либо замечания, оставьте комментарий ?

Обычно установка MS SQL Server не рассматривается, поскольку считается, что это достаточно просто – несколько раз нажал кнопку Далее и база данных установлена. Тем не менее, есть несколько нюансов, способных отравить жизнь даже опытному администратору, при условии, что он ранее не устанавливал MS SQL Server для 1С.

Создание виртуальных серверов

Первым делом необходимо создать один или два виртуальных сервера. Ранее мы уже писали о выборе оптимальной конфигурации виртуального сервера для 1С. При большой нагрузке вам понадобится два виртуальных сервера – один будет использоваться для 1С, а второй – для СУБД. В этой статье будем считать, что нагрузка умеренная, поэтому и 1С, и СУБД будут установлены на один сервер. Конфигурация виртуального сервера приведена в таблице.

Конфигурация виртуального сервера при умеренной нагрузке

Количество пользователей

CPU RAM Disk

до 10

2 ядра 5-6 Гб 100 Гб

10 — 25

2 ядра

12-14 Гб

120 Гб

25 — 50

4 ядра 24 Гб

200 Гб

Установка MS SQL Server для 1С

Скачайте последнюю версию MS SQL Server. Подробно процесс установки мы рассматривать не будем – он действительно прост. Зато мы остановимся лишь на необходимых настройках.

По умолчанию MS SQL Server загружается на системный диск С:. Выбрав пользовательский тип установки (рис. 1) можно изменить диск и каталог назначения (рис. 2).

sredstvo-zagruzki-ms-sql-server.png

Рис. 1. Средство загрузки MS SQL Server

vybor-kataloga-zagruzki.png

Рис. 2. Выбор каталога загрузки

Далее нужно дождаться, пока инсталлятор загрузит необходимые файлы (рис. 3), после чего вы увидите окно Центра установки SQL Server (рис. 4). Центр установки позволяет не только установить SQL Server, но и выполнить различные операции по обслуживанию сервера баз данных. В нашем случае нас пока интересует установка, поэтому перейдите в раздел Установка и выберите команду Новая установка изолированного экземпляра SQL Server или добавление компонентов к существующей установке.

zagruzka-faylov-iz-interneta.png

Рис. 3. Загрузка файлов из Интернета

tsentr-ustanovki-sql-server.png

Рис. 4. Центр установки SQL Server

razdel-ustanovka.png

Рис. 5. Раздел Установка

Запустится инсталлятор, первые несколько шагов не нуждаются в комментариях. А вот о выборе компонентов нужно поговорить отдельно. Для работы 1С не нужны абсолютно все компоненты, достаточно двух — Службы ядра СУБД и Соединение с клиентскими средствами. Ранее можно было выбрать компонент  Средства управления, в последнем выпуске SQL Server (2017) установка средств управления производится отдельно — из раздела Установка. Итак, выберите два основных компонента, задайте каталоги установки (ранее мы выбирали каталог загрузки) и нажмите кнопку Далее.

vybor-komponentov-servera.png

Рис. 6. Выбор компонентов сервера

Нажимайте кнопку Далее, пока не перейдете в раздел Конфигурация сервера (рис. 7). На вкладке Параметры сортировки убедитесь, что выбрана кодировка Cyrillic_General_CI_AS. Если вы выбрали русский язык (рис. 2), то эта кодировка будет выбрана по умолчанию, а вот если вы предпочитаете английский язык на сервере, то кодировку придется сменить.

vybor-kodirovki.png

Рис. 7.

В разделе Настройка ядра СУБД на вкладке Конфигурация сервера установите смешанный режим проверки подлинности (рис. 8), а также установите пароль для учетной записи системного администратора сервера БД (sa). Также нужно назначить администраторов сервера. Если вы работаете под CloudAdminили другим пользователем с административными правами, просто нажмите кнопку Добавить текущего пользователя.

parametry-proverki-podlinnosti.png

Рис. 8.

Следующая вкладка — Каталоги данных — очень важная. Пользовательские базы данных и база tempdb должны храниться на самом производительном диске. В идеале добавить SSD-диск для хранения баз данных. Хотя расположение базы можно указывать при ее создании, задание правильных настроек по умолчанию избавляет вас от лишней работы, а также от ситуации, когда база создается средствами 1С и оказывается в каталоге по умолчанию, т.е. на системном диске. Сразу можно также указать каталог для хранения резервных копий.

katalogi-dannykh-_puti-po-umolchaniyu_.png

Рис. 9. Каталоги данных (пути по умолчанию)

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

Вернитесь в окно Центра установки, выполните установку средств управления SQL Server (рис. 10). Откроется браузер со страничкой, откуда можно скачать средства управления. Загрузите файл инсталлятора и производите установку. Устанавливать средства управления на сервере не обязательно, их можно установить на компьютере администратора, но поскольку у нас виртуальный сервер, мы не будем усложнять его настройку и установим средства управления SQL Server на этом же компьютере.

vypolnite-ustanovku-etogo-komponenta.png

Рис. 10.

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

Мы только что выполнили установку SQL Server и средств управления. Осталось настроить сервер для работы с 1С. Используя средства управления, подключитесь к серверу SQL Server. Щелкните на сервере в списке слева правой кнопкой мыши и выберите команду Свойства (рис. 11). Убедитесь, что кодировка Cyrillic_General_CI_AS. В противном случае сервер придется переустановить.

svoystva-servera.png

Рис. 11. Свойства сервера

Если с кодировкой все в порядке, перейдите в раздел Память. Укажите доступный SQL-серверу объем ОЗУ, в противном случае SQL-сервер будет стремиться утилизировать всю доступную память. Если 1С будет установлена на этом же сервере, то такое поведение SQL Server нельзя назвать оптимальным — для 1С тоже нужно оставить доступные ресурсы.

parametry-pamyati.png

Рис. 12.

Закройте окно свойств. Перейдите в раздел Безопасность, Имена входа. Щелкните правой кнопкой мыши на разделе Имена входа и выберите команду Создать новое имя входа. Создайте новую учетную запись пользователя, от имени которого будет подключаться 1С — использовать учетную запись администратора (sa), предоставив 1С максимальные права, мягко говоря, неправильно.

Введите имя пользователя, установите проверку подлинности через SQL Server (рис. 13). Далее перейдите в раздел Роли сервера и выберите dbcreator, processadmin и public (рис. 14).

sozdanie-novoy-uchetnoy-zapisi-polzovatelya-_dlya-1s_.png

Рис. 13. Создание новой учетной записи пользователя для 1С

roli-servera.png

Рис. 14.

На этом все. Мы установили SQL Server и средства управления, выполнили базовую настройку сервера и создали учетную запись для работы 1С. В большинстве случаев параметры SQL-сервера по умолчанию более чем подходят для обеспечения производительной работы сервера 1С:Предприятие.

Используемые источники:

  • https://interface31.ru/tech_it/2014/01/ustanovka-i-nastroyka-ms-sql-server-dlya-1spredpriyatie.html
  • https://lepkov.ru/optimizacija-ms-sql-server-dlja-1s/
  • http://kuzevanov.ru/windows/ustanovka-i-nastrojka-ms-sql-server-dlja-1s.html

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