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

Установка сервера 1С и MS SQL с настройкой для оптимизации 1С

ИнструкцииИТИТ-поддержка1Установка Сервера 1С:Предприятие

Открываем папку с файлами установки сервера «1С:Предприятие» и нажимаем на файл setup.exe.

screen1.png

Запуститься помощник установки «1С:Предприятия». Нажимаем «Далее».

screen2.png

На следующей странице требуется выбрать те компоненты, которые будут установлены:

  • «Сервер 1С:Предприятие» — компоненты сервера «1С:Предприятие»
  • «Администрирование сервера 1С:Предприятия» — дополнительные компоненты для администрирования серверов «1С:Предприятия»

Сделав выбор, нажимаем «Далее».

screen3.png

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

screen4.png

Если сервер «1С:Предприятие» устанавливается как служба Windows (а так в большинстве случаев и следует его устанавливать) — рекомендуем сразу создать отдельного пользователя, из-под которого будет запускаться эта служба.

  • Оставляем включенным флаг «Установить сервер 1С:Предприятие как сервис Windows (рекомендуется)».
  • Переключаем соответствующий переключатель в «Создать пользователя USR1CV8».
  • Вводим 2 раза пароль для создаваемого пользователя. По умолчанию пароль должен отвечать политики паролей Windows.
  • Можно также и выбрать существующего пользователя для запуска сервера «1С:Предприятия». В этом случае выбранный пользователь должен обладать правами:
    • Вход в систему как сервис (Log on as a service);
    • Вход в систему как пакетное задание (Log on as a batch job);
    • Пользователи журналов производительности (Performance Log Users).

Также данному пользователю обязательно следует дать необходимые права на каталог служебных файлов сервера (по умолчанию C:Program Files1cv8srvinfo для 64-х разрядного и C:Program Files (x86)1cv8srvinfo для 32-х разрядного сервера).

Созданный автоматически пользователь USR1CV8 будет обладать всеми перечисленными правами.

Заполнив соответствующие параметры, жмем «Далее».

screen5.png

Нажимаем «Установить» для того чтобы начать установку. При этом будет произведено копирование файлов выбранных компонент, создание конфигурационных файлов, регистрация компонентов программы, создание ярлыков, а также запуск службы сервера «1С:Предприятия».

screen6.png

По завершении установки помощник предложит установить драйвер защиты — HASP Device Driver. Если используется программная лицензия на сервер «1С:Предприятия», производить установку драйвера нет необходимости. Оставляем или снимаем флаг «Установить драйвер защиты» и жмем «Далее».

screen7.png

Если установка завершена успешно, откроется последняя страница помощника установки. Нажимаем «Готово» для завершения работы мастера.

screen8.png2Установка сервиса MS SQL

На рисунке ниже изображены основные компоненты необходимые для базовой установки сервера.

screen9.png

При первой установке в следующем окне ничего менять не нужно.

screen10.png

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

screen11.png

На следующем этапе необходимо указать смешанный режим проверки подлинности и указать пароль пользователя sa, а также добавить пользователя Windows, которые будет иметь право администрировать СУБД.

screen12.png

На вкладке «Каталоги данных» необходимо указать дефолтное размещение пользовательских баз данных, а также указать каталоги системных баз данных. Для повышения производительности SQL Server желательно разносить функционально разные базы данных. Так на отдельные физические диски необходимо разносить пользовательские данные, журнал пользовательских баз данных, базу данных temp и ее журнал. Также возможно указать дефолтный каталог для хранения резервных копий баз данных.

screen13.png

Если все сделано правильно, остается прощелкать кнопку «Далее» и дождаться установки SQL Server.

3Оптимизация и тонкая настройка Сервера 1С:Предприятие

3.1.В Включаем режим Shared memory.

«Shared Memory» включится только на платформе начиная с 1С 8.2.17, на более ранних релизах включится «Named Pipe» – несколько уступающий в скорости работы. Актуально, если службы 1С и MS SQL установлены на одном физическом или виртуальном сервере.

screen14.png

3.2.В Настройка кластера 1С:Предприятие.

screen15.jpg

Настройки кластера 1С отвечают за параметры всех серверов 1С, принадлежащих кластеру. Кластер подразумевает работу нескольких физических или виртуальных серверов, работающих с одними и теми же информационными базами.

  • Интервал перезапуска – отвечает за частоту перезапуска рабочих процессов кластера. Автоматический перезапуск был разработан в платформе «для минимизации отрицательных последствий фрагментации и утечки памяти в рабочих процессах». Однако, автоматический перезапуск может приводить к разрыву соединений в активных сессиях, поэтому в некоторых случаях предпочтительнее регламентные операции по перезапуску процессов 1С и очистке серверного кэша проводить вручную, либо с помощью скрипта.
  • Допустимый объем памяти – защищает сервера 1С от перерасхода памяти. При превышении процессом этого объема в интервале превышения допустимого объема, процесс перезапускается. По сути – это максимальный размер ОЗУ, занимаемый процессами «rphost» в периоды пиковой нагрузки серверов. Рекомендуется установить небольшой порог превышения допустимого объема.
  • Допустимое отклонение количества ошибок сервера. Платформа рассчитывает среднее количество ошибок сервера по отношению к числу обращений к серверу в течение 5 минут. Если это отношение превысит допустимое, то рабочий процесс считается «проблемным», и может быть завершен системой, если установлен флаг «Принудительно завершать проблемные процессы».
  • Выключенные процессы останавливать через « ». При превышении допустимого объема памяти, рабочий процесс не завершается сразу, а становится «выключенным», чтобы было время «перенести» рабочие данные без потери на новый запущенный рабочий процесс. Если указан этот параметр, то «выключенный» процесс в любом случае завершится по истечении этого времени. Если наблюдаются «зависшие» рабочие процессы в работе сервера 1С, то рекомендуем рассмотреть использование данного параметра путем установки таймера на 3-5 минут.

3.3.В Настройка сервера 1С:Предприятие.

Эти настройки устанавливаются для каждого сервера 1С персонально.

  • Максимальный объем памяти рабочих процессов – это объем совокупной памяти, которую могут занимать рабочие процессы (rphost) на текущем кластере.
    • Если параметр установлен в «0», то процесс может потреблять до 80% ОЗУ сервера.
    • Если «1» — без ограничений.

    Когда на одном сервере работают СУБД и сервер 1С, им нужно делить между собой оперативную память. Если в процессе эксплуатации выяснится, что серверу СУБД не хватает ОЗУ, то с помощью этого параметра есть возможность вручную ограничить память, выделяемую серверу 1С:Предприятие.

  • Безопасный расход памяти за один вызов. Отдельные вызовы процедур не должны занимать всю оперативную память, выделенную рабочему процессу.
    • Если параметр установлен в «0», то объем безопасного расхода ОЗУ будет равен 5 % от «Максимального объема памяти рабочих процессов».
    • «1» — без ограничения, что крайне не рекомендуется. В большинстве случаев этот параметр лучше оставлять «0».
  • С помощью параметров «Количество ИБ на процесс» и «Количество соединений на процесс» можно управлять распределением работы сервера 1С:Предприятие по рабочим процессам rphost. Например, запускать под каждую информационную базу отдельный «rphost». Эти параметры стоит подбирать индивидуально под каждую конфигурацию сервера 1С.

4Оптимизация и тонкая настройка сервиса MS SQL

4.1.В Настройка SQL сервера.

  • Включаем Shared memory (показано на картинке). Актуально если службы 1С и MSSQL установлены на одном физическом или виртуальном сервере.

Проверить можно, выполнив запрос:

  • Устанавливаем максимально отведенное серверу количество памяти.
  • Устанавливаем сжатие БД при резервном копировании и дефолтные места для хранения файлов БД

4.2.В Настройка Базы данных.

После того, как сервер СУБД оптимизирован – переходим к настройкам баз.

  • Рекомендуется указать автоувеличение размера
  • Размещение файлов данных на разных дисках высокой производительности.
  • Установка простой модели восстановления пользовательских баз для избегания разрастания файла журнала транзакций.

4.3.В Настройка регламентных заданий.

  • Ежедневные:
    • Дефрагментация

    Например: ежедневно (кроме субботы) в 22:00

  • Еженедельные:
    • Реиндексация

    Например: запускается раз в неделю в субботу в 22.00

Мы также готовы оказать помощь в установке и настройке сервера 1С, оптимизации.

Альтернативным вариантом является аренда готового сервера 1С, где уже произведены все настройки и включено обслуживание.

Комментарии для сайта Cackle—> —> Комментарии для сайта Cackle—>

Путем проб и ошибок, путем тестирования на 200+ живых пользователей, консультаций с десятками Гуру и поиска по сотням официальных и не очень сайтов был разработан оптимальный вариант настроек MS SQL для круглосуточной работы более, чем 200 пользователей одновременно.

 1. Настройка сервера

Во-первых нам нужен только сервер, остальные службы, которые к нему относятся и возможно кто-то ими пользуется, нам только тормозят работу. Останавливаем и отключаем такие службы, как FullText Search (у 1С собственный механизм полнотекстового поиска), IntegrationServices и иже с ними.

Оставляем только:

SQL Server (sqlservr.exe)

SQL Server Agent (SQLAGENT.exe)

SQL  Writer (sqlwriter.exe)

Далее в свойствах сервера, через ServerManagementStudio устанавливаем:

? Реклама

Максимально отведенное серверу количество памяти из расчета:

[Общее количество оперативной памяти сервера] – [4ГБ под систему(2ГБ если Win2003)] – [1,5 ГБ * количество процессов rphost (если SQL и 1С на одном сервере вращаются.)] Например если у нас на сервере всего 36 ГБ оперативной памяти, стоит Windows 2008 и запущено 8 процессов rphost то рассчет идет так: 36 — 4 — 1.5*8 = 20 ГБ ставим ограничение для SQL.

Это необходимо для того, чтобы sqlсервер рассчитывал на этот объем и чистил память заблаговременно, т.к. если поставить неограниченный объем, и сервер попробует получить память, которой нет, он начинает крепко задумываться над своим поведением и крайне медленно отвечать на запросы.

Далее:

Максимальное количество потоков (Maximum worker threads) ставим 2048, по умолчанию стоит 0 и с таким значением сервер не создает больше 255 потоков, а этого ему не хватает (установлено опытным путем, что при большом количестве одновременных транзакций сервер реально начинает быстрее работать). Также выставляем галку повышенного приоритета сервера (Boostpriority).

? Реклама

Собственно с глобальными настройками все. Теперь переходим к настройкам рабочей базы данных (или нескольких баз, если такое имеет место быть).

2. Настройка рабочей базы данных

Заходим в свойства нужной нам базы данных:

Если база еще не развернута из .dt файла, и вы знаете примерный ее размер, то первичному файлу размер инициализации лучше сразу указать >= размера базы, но это дело вкуса, он все равно вырастет при развертке. А вот Автоувеличение размера надо обязательно указать примерно по 200 МБ на базу и по 50 МБ на лог, т.к. значения по умолчанию – рост по 1МБ и по 10% очень сильно тормозят работу сервера, когда ему при каждой 3й транзакции надо файл увеличивать. Также, если не используетет RAID массив, то хранение файла базы и файла лога лучше указать на разных физических дисках. Ну и ограничить лог 2-4 ГБ, чтоб сильно не пух.

? Реклама

Остальные настройки как на скришоте:

С настройками базы все. Осталось настроить регламентные задания.

3. Настройка регламентных заданий

Сначала создаем Maintenance Plan в разделе Management:

Дефрагментацию индексов и сбор статистики нужно производить ежедневно, т.к. если фрагментированость индексов > 25%, это резко снижает производительность сервера. Дефрагментация и обновление статистики делается быстро и не требует отключения пользователей. Насколько ваши индексы фрагментированы можно посмотреть очень хорошей и многофункциональной обработкой Гилева Вячаслава, с названием Lock1C.epf, и которую он убрал со своего сайта из-за наезда 1С-ников за нарушение какого-то пункта лицензионного с., но хорошему админу гугл всегда в помощь J . Также желательно делать полную переиндексацию, с блокировкой БД, хотя бы раз в неделю, естественно после полной переиндексации сразу же делается дефрагментация индексов и обновление статистики.

? Реклама

Настройка бэкапа средствами SQL.

Ту все просто, добавляем 2 новых задания Agent’у:

 Full BackUp, с периодичностью 1 раз в сутки и 2мя шагами T-SQL скриптов:

1.       BACKUP DATABASE [<ИмяБД>] TO  DISK = N'<ПутьКПапке>Backup<ИмяБД>.bak’ WITH NOFORMAT, INIT,  NAME = N'<ИмяБД>-Full Database Backup’, SKIP, NOREWIND, NOUNLOAD,  STATS = 10

GO

2.       USE [<ИмяБД>]

GO

DBCC SHRINKFILE (N'<ИмяБД>_log’ , 0)

GO

И второе задание с периодичностью 1 раз в 1-2 часа Differencial BackUp и с одним T-SQL скриптом:

BACKUP DATABASE [<ИмяБД>] TO  DISK = N'<ПутьКПапке>Backup<ИмяБД>Diff.bak’ WITH  DIFFERENTIAL , NOFORMAT, INIT,  NAME = N'<ИмяБД>-Differential Database Backup’, SKIP, NOREWIND, NOUNLOAD,  STATS = 10

? Реклама

GO

Такой бэкап делается, даже при активной работе пользователей, 4-6 минут и практически не сказывается на быстродействии сервера.

Да, и добавим очистку процедурного после переиндексации (раз в неделю), в задание, кторое у же появилось в агенте после сохранения Maintenance Plan добавляем еще один шаг:

DBCC FREEPROCCACHE

GO

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

Вот, собственно, и все. По поводу бэкапа средствами 1С: http://infostart.ru/public/65849/ — Full BackUp и выгрузку 1С можно делать одновременно.

Мероприятия

Блоги компаний

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

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

  • https://efsol.ru/manuals/1s-setup.html
  • https://www.klerk.ru/soft/articles/333087/
  • https://interface31.ru/tech_it/2014/01/ustanovka-i-nastroyka-ms-sql-server-dlya-1spredpriyatie.html

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