Содержание
Тему установки 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, Средства связи клиентских средств и Средства управления (опционально).
Средства управления можно не устанавливать на сервер, а установить отдельно на рабочее место администратора и управлять оттуда всеми доступными серверами MS SQL.
Также следует проверить параметры сортировки, если у вас правильно настроены региональные настройки, то скорее всего там ничего изменять не придется, но проконтролировать данный параметр желательно, там должно быть Cyrillic_General_CI_AS.
В Конфигурации сервера укажите Смешанный режим проверки подлинности и задайте пароль суперпользователю SQL — sa. Также укажите ниже администраторов данного экземпляра SQL-сервера, по умолчанию там уже находится учетная запись из-под которой произведена установка, но если администрировать данный экземпляр должны также другие пользователи, то имеет смысл сразу их указать.
Следующая закладка — Каталоги данных — требует самого пристального внимания. Обязательно укажите в качестве места хранения пользовательских баз и базы tempdb место на производительном массиве или отдельном диске. Несмотря на то, что расположение базы можно указывать при ее создании, задание правильных настроек по умолчанию избавляет вас от лишней работы, а также от ситуации, когда база создается средствами 1С и оказывается в каталоге по умолчанию, т.е. на системном диске. Также сразу можете указать каталог для хранения резервных копий.
Остальные настройки можно оставить по умолчанию и завершить установку.
Настройка MS SQL Server для работы с 1С:Предприятие
Если вы имеете дело с уже установленным экземпляром SQL-сервера, убедитесь, что кодировка сравнения Cyrillic_General_CI_AS, в противном случае данные следует выгрузить средствами 1С, а сервер переустановить (или установить еще один экземпляр, если данный используется другими службами).
Для этого откройте Managment Studio, выберите необходимый экземпляр SQL-сервера и щелкнув на нем правой кнопкой мыши перейдите к Свойствам.
Затем перейдите к закладке Память и укажите доступный SQL-серверу объем ОЗУ, в противном случае SQL-сервер будет стремиться утилизировать всю доступную память. В ситуации совмещения ролей SQL-сервера с другими ролями, а в небольших и средних внедрениях он, как правило, расположен на одной машине с сервером 1С, следует из общего количества памяти вычесть необходимое системе и серверу 1С, отдав SQL то, что останется.
Дать однозначные рекомендации тут сложно, все зависит от объема обрабатываемых данных, на практике имеет смысл выделить SQL-серверу половину свободной памяти, впоследствии скорректировав данное значение исходя из ее фактической загрузки.
Следующая настройка будет связана с безопасностью. Для подключения 1С к серверу чаще всего используется учетная запись sa, что, мягко говоря, небезопасно, так как дает вошедшему под ней полный доступ к SQL-серверу. Учитывая, что администрированием баз 1С часто занимаются сторониие специалисты, то имеет смысл создать для них отдельную учетную запись.
Для этого раскройте Безопасность — Имена входа и создайте новое имя (учетную запись), укажите проверку подлинности SQL-сервер и задайте пароль.
Затем перейдите на закладку Роли сервера и разрешите dbcreator, processadmin и public.
После чего используйте для подключения к SQL-серверу из 1С именно эту учетную запись.
Еще одна настройка относится к уже созданным базам данных, откройте свойства нужной БД и прейдите на закладку Файлы. Найдите опцию Автоувеличение/максимальный размер для файла данных. По умолчанию там стоит 1 Мб, что весьма неоптимально, при активной работе с базой СУБД только и будет заниматься тем, что увеличивать размер файла, кроме того при активной работе нескольких баз это будет приводить к значительной фрагментации файла данных. Поэтому исходя из размера базы и активности работы задайте более высокое значение, которое не будет приводить к постоянному увеличению файла БД.
Перенос базы 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 будут создан в новом месте, файлы по старому расположению следует удалить вручную.
На этом мы сегодня закончим, напоследок напомнив не забывать про обслуживание баз и резервные копии.
Дополнительные материалы:
- Обслуживание баз 1С в MS SQL Server. Часть 1
- Обслуживание баз 1С в MS SQL Server. Часть 2
- Обслуживание баз 1С в MS SQL Server. Часть 3
Общие настройки
Запускаем SQL Server Management Studio и вводим данные для подключения к серверу баз данных.
Кликаем правой кнопкой мыши по серверу и выбираем Свойства:
В открывшемся окне переходим на вкладку «Память» и ограничиваем потребление оперативной памяти в графе «Максимальный размер памяти сервера (МБ)»:
* максимальный размер рассчитывается так: вся оперативная память сервера минус 4096 Мб (на нужды системы) минус 1536 * количество процессов rphost. Например, если в сервере установлено 32 Гб оперативной памяти и присутствует 2 процесса rphost, расчет будет таким: 32768 — 4096 — (2 * 1536) = 25600.
Теперь переходим на вкладку «Процессоры» и выставляем «Максимальное число рабочих потоков» в значение 2048 и ставим галочку Поддерживать приоритет SQL Server:
Настройки базы данных
В SQL Server Management Studio раскрываем «Базы данных», кликаем правой кнопкой мыши по рабочей базе и нажимаем Свойства:
Теперь переходим на вкладку «Файлы» и в настройках Авторасширения настраиваем расширение файла базы до 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).
Рис. 1. Средство загрузки MS SQL Server
Рис. 2. Выбор каталога загрузки
Далее нужно дождаться, пока инсталлятор загрузит необходимые файлы (рис. 3), после чего вы увидите окно Центра установки SQL Server (рис. 4). Центр установки позволяет не только установить SQL Server, но и выполнить различные операции по обслуживанию сервера баз данных. В нашем случае нас пока интересует установка, поэтому перейдите в раздел Установка и выберите команду Новая установка изолированного экземпляра SQL Server или добавление компонентов к существующей установке.
Рис. 3. Загрузка файлов из Интернета
Рис. 4. Центр установки SQL Server
Рис. 5. Раздел Установка
Запустится инсталлятор, первые несколько шагов не нуждаются в комментариях. А вот о выборе компонентов нужно поговорить отдельно. Для работы 1С не нужны абсолютно все компоненты, достаточно двух — Службы ядра СУБД и Соединение с клиентскими средствами. Ранее можно было выбрать компонент Средства управления, в последнем выпуске SQL Server (2017) установка средств управления производится отдельно — из раздела Установка. Итак, выберите два основных компонента, задайте каталоги установки (ранее мы выбирали каталог загрузки) и нажмите кнопку Далее.
Рис. 6. Выбор компонентов сервера
Нажимайте кнопку Далее, пока не перейдете в раздел Конфигурация сервера (рис. 7). На вкладке Параметры сортировки убедитесь, что выбрана кодировка Cyrillic_General_CI_AS. Если вы выбрали русский язык (рис. 2), то эта кодировка будет выбрана по умолчанию, а вот если вы предпочитаете английский язык на сервере, то кодировку придется сменить.
Рис. 7.
В разделе Настройка ядра СУБД на вкладке Конфигурация сервера установите смешанный режим проверки подлинности (рис. 8), а также установите пароль для учетной записи системного администратора сервера БД (sa). Также нужно назначить администраторов сервера. Если вы работаете под CloudAdminили другим пользователем с административными правами, просто нажмите кнопку Добавить текущего пользователя.
Рис. 8.
Следующая вкладка — Каталоги данных — очень важная. Пользовательские базы данных и база tempdb должны храниться на самом производительном диске. В идеале добавить SSD-диск для хранения баз данных. Хотя расположение базы можно указывать при ее создании, задание правильных настроек по умолчанию избавляет вас от лишней работы, а также от ситуации, когда база создается средствами 1С и оказывается в каталоге по умолчанию, т.е. на системном диске. Сразу можно также указать каталог для хранения резервных копий.
Рис. 9. Каталоги данных (пути по умолчанию)
Остальные параметры можно оставить по умолчанию. Нажмите кнопку Далее, а затем кнопку Установить и подождите, пока SQL Server будет устанавливаться.
Вернитесь в окно Центра установки, выполните установку средств управления SQL Server (рис. 10). Откроется браузер со страничкой, откуда можно скачать средства управления. Загрузите файл инсталлятора и производите установку. Устанавливать средства управления на сервере не обязательно, их можно установить на компьютере администратора, но поскольку у нас виртуальный сервер, мы не будем усложнять его настройку и установим средства управления SQL Server на этом же компьютере.
Рис. 10.
Настройка MS SQL Server для работы с 1С:Предприятие
Мы только что выполнили установку SQL Server и средств управления. Осталось настроить сервер для работы с 1С. Используя средства управления, подключитесь к серверу SQL Server. Щелкните на сервере в списке слева правой кнопкой мыши и выберите команду Свойства (рис. 11). Убедитесь, что кодировка Cyrillic_General_CI_AS. В противном случае сервер придется переустановить.
Рис. 11. Свойства сервера
Если с кодировкой все в порядке, перейдите в раздел Память. Укажите доступный SQL-серверу объем ОЗУ, в противном случае SQL-сервер будет стремиться утилизировать всю доступную память. Если 1С будет установлена на этом же сервере, то такое поведение SQL Server нельзя назвать оптимальным — для 1С тоже нужно оставить доступные ресурсы.
Рис. 12.
Закройте окно свойств. Перейдите в раздел Безопасность, Имена входа. Щелкните правой кнопкой мыши на разделе Имена входа и выберите команду Создать новое имя входа. Создайте новую учетную запись пользователя, от имени которого будет подключаться 1С — использовать учетную запись администратора (sa), предоставив 1С максимальные права, мягко говоря, неправильно.
Введите имя пользователя, установите проверку подлинности через SQL Server (рис. 13). Далее перейдите в раздел Роли сервера и выберите dbcreator, processadmin и public (рис. 14).
Рис. 13. Создание новой учетной записи пользователя для 1С
Рис. 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