Установка sql server для 1с 8.3.

Тему установки 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 master
alter database tempdb
modify file(
name = tempdev,
filename = N"E:\NEW_FOLDER\tempdb.mdf")
go

alter database tempdb
modify file(
name = templog,
filename = N"E:\NEW_FOLDER\templog.ldf")
go

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

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

Обновление статистики базы данных

(один или несколько раз в день)

Если вручную, то выполняем процедуры:

Exec sp_msforeachtable N"UPDATE STATISTICS ? WITH FULLSCAN" DBCC UPDATEUSAGE (dbname)

Через графический интерфейс:

Очистка процедураного кэша СУБД

(после обновления статистики)

Выполняем процедуру

DBCC FREEPROCCACHE

Реиндексация базы данных

(раз в сутки в не рабочее время)

Если вручную, то

Sp_msforeachtable N"DBCC DBREINDEX (""?"")"

Через графический интерфейс:

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

Для больших баз данных нужно уменьшать ненужные операции по дефрагментации тех , для которых это не требуется.

Функция таблицы динамического управления sys.dm_db_index_physical_stats возвращает процент фрагментации в столбце avg_fragmentation_in_percent . Если значение в этом столбце превышает 25%, то для восстановления исходных параметров производительности рекомендуется выполнить дефрагментацию/реиндексацию этого индекса.

Еще проще, воспользовшись отчетом:

Настройте резервное копирование

Не забудьте настроить автоматический для вашей базы данных. Это существенно дешевле, чем не делать бэкап и без нервов:) . Хотя бы раз в неделю проверяйте, что не закончилось место и восстанавливайте бэкап в копию базы для проверки а спасет ли бэкап, "если что"...

Уменьшение размера базы (лога) данных

Уменьшить базу данных можно или с помощью графического интерфейса приложения SQL Server Management Studio.
Первый случай выполняется посредством вызова контекстного меню на необходимой базе и выбора Tasks - Shrink - Database.
Второй случай опишем несколько подробнее. Ниже приведен скрипт уменьшения лога:

DBCC shrinkdatabase(N"base1c", TRUNCATE_ONLY); /*усечение всей базы*/

use DBCC SHRINKFILE (N"base1c_Data", 101); /*усечение только файла данных до размера 101 мб*/

use DBCC SHRINKFILE (N"base1c_Log", 0); /*усечение только файла транзакций до размера 0 мб*/

CHECKPOINT; /*Записывает все данных из буферного кэша в текущей базе данных на диск*/

BACKUP LOG TO DISK = N"F:\log\base1c.bak" WITH TRUNCATE_ONLY /*очистка журнала транзакций */

где:
base1c - имя базы данных
F:\log\base1c.bak - путь к файлу бэкапа лога

Для понимания нижеописанного необходимо разъяснить два понятия:

  • Клиент – персональный компьютер или программное обеспечение, единица сети, генерирующая запросы к серверу с целью получения или обработки каких-либо данных;
  • Сервер – мощный компьютер со значительными производственными возможностями или программное обеспечение, формирующий ответы на запросы клиента.

Клиент-серверная архитектура предполагает взаимодействие клиентского приложения с сервером информационных баз данных посредством специального приложения – сервера 1С:Предприятия.

Установка MSSQL на серверную машину описывается во многих руководствах с возможной вариативностью в зависимости от SQL-версии и версии серверной операционной системы.


1. В имеющемся дистрибутиве необходимо запустить файл установки setup.exe (для продолжения потребуются Microsoft.NET Framework и операционный установщик Windows Installer, тоесть желательно чтобы он был установлен предварительно).

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

3. Необходимо ввести ключ продукта, полученный при покупке лицензионной программы.

4. После на следующем этапе необходимо установить галочку, что принимаете условия лицензионного соглашения:




Переход к последующему шагу осуществляется при нажатии кнопки Next («Далее»).


5. Получаем доступные обновления.

6. Проходим проверку конфигурации (Warning MSCS пропускаем):


7. Выбираем вариант целевого назначения установки:




8. Выбираем компоненты, которые нам необходимы; можно выбрать все (Select All), но вообще для поставленной задачи достаточно основных, а именно для взаимодействия с сервером 1С необходимы только 3 (DatabaseEngineServices [рус.-Службы компонента DatabaseEngine], ClientToolsConnectivity [рус.- Средства связи клиентских средств], ManagementTool [рус.- Средства управления - полный набор]):




9. Еще одна проверка установочной конфигурации:



10. Детальный отчет. Если предварительно не установлен «Microsoft .NET Framework 3.5», то на данном этапе выдаст ошибку. Нажимаем кнопку «Next»:







12. Проверка доступного пространства на выбранном диске:




13. Настройки на последующих шагах рекомендуется оставить по умолчанию (хотя можно завести отдельного пользователя для MSSQL), переход осуществляется по кнопке Next (обратите внимание, чтобы загрузка SQL Service Agent (Агент Службы SQL) была установлена как автоматически):


14. Еще один важный этап – выбор порядка сортировки (Collation). После инсталляции изменить крайне проблематично:




15. В следующем шаге необходимо выбрать возможность смешанного варианта запуска, добавить пароль для пользователя "sa" и добавить текущего пользователя, который будет обладать правами администратора системы (кнопка «Add Current User»):



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

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

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

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

Установка 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 или добавление компонентов к существующей установке.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Эта статья содержит информацию о процедуре установки 1С в клиент-серверном варианте.

Установка платформы 1С описана в другой нашей статье – “Администрирование 1С”, в разделе “Установка 1С”. Установка на сервер почти полностью совпадает с установкой на локальный компьютер, с одной лишь разницей. В серверном варианте при выборе устанавливаемых компонент необходимо выбрать “Сервер 1С:Предприятия” и “Администрирование сервера 1С:Предприятия”.

Установить 1С на клиентских компьютерах, с которых будет осуществляться подключение к серверу.

Установка на клиентских компьютерах ничем не отличается от способа, описанного ранее в статье “Администрирование 1С”.

Создать информационную базу в SQL.

Создание информационной базы в SQL тоже очень похоже на создание базы в файловом варианте. Разница заключается в том, что на этапе выбора типа расположения информационной базы необходимо выбрать “На сервере 1С:Предприятия”.

В пункте “Кластер серверов” укажите имя (а лучше IP-адрес) сервера, на который устанавливали SQL.

В пункте “Имя информационной базы” укажите любое имя, которое хотите дать базе.

Тип СУБД – SQL.

Пользователь базы данных и его пароль – тот самый суперпользователь, о котором говорилось выше, на этапе установки MS SQL.

Смещение дат оставьте по умолчанию.

Необходимо отметить пункт “Создать базу данных в случае ее отсутствия” и нажать “Далее”.

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

Стоить отметить, что созданная база пока еще пустая. Это каркас, место, выделенное в SQL под вашу информационную базу. Для того, чтобы загрузить свою базу в этот каркас – необходимо воспользоваться средствами Выгрузки/Загрузки информационной базы. Процедура Выгрузки/Загрузки также описана в другой нашей статье “Администрирование 1С”.

Для того, чтобы довести систему до идеального состояния в дальнейшем необходимо будет настроить “план обслуживания” созданной базы данных. План обслуживания – это набор процедур, которые SQL будет выполнять регулярно по заданному расписанию. Например, будет регулярно делать резервные копии и удалять временные файлы. Работа с SQL выходит за рамки темы статьи и будет описана в одной из следующих.