1c 8 sql 2005 настройка

Обновлено: 05.07.2024

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

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

Содержание:

Установка MS SQL Server

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

Выбор и настройка компонентов

Для работы MS SQL Server c 1С Предприятие достаточно выбрать следующий набор компонент:

  • Службы компонента Dtabase Engine
  • Средства связи клиентских средств
  • Средства управления - основные
  • Средства управления - полный набор (полный набор нам будет необходим для создания плана обслуживания)

Важно! Каталог общих компонентов лучше указывать на отдельном диске (отдельно от операционной системы). Это повысит скорость работы и отказоустойчивость.

Конфигурация сервера

Для запуска служб Агент SQL Server и SQL Database Engine указываем учетную запись. Можно создать отдельнную учетную запись с правами администратора, либо указать учетную запись Администратор. Однако стоит помнить - если Вы решите когда-нибудь сменить пароль для учетной записи, которую здесь указали, то и служба перестанет запускаться. Поэтому используйте учетную запись в которой не планируете менять пароль.

Настройке компонента Databse Engine

Указываем смешанный режим и задаем пароль для sa - системной учетной записи SQL Server.

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

Далее все настройки можно оставить по-умолчанию.

Настраиваем брэндмауэр для работы mssql и 1С Серверa

Создаем правила разрешающее входящие подключения на порт 1433 для MS SQL и 1541-1560 для 1С Сервера

Создаем правило для программы. Путь до программы будет выглядеть примерно так
C:\Program Files\Microsoft SQL Server\MSSQL13.<InstanceName>\MSSQL\Binn\sqlservr.exe

Настройка свойств сервера Ms SQL для работы с 1С

Запускаем Microsoft SQL Server Management Studio и подключаемся к серверу.

Переходим к пункту Процессор. Максимальное число рабочих потоков так же лучше установить вручную и задать значение 2048 так как при значении 0 число потоков может не превышать 255. Включаем параметр Поддерживать приоритет SQL.

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

Настройка рабочей базы 1С Предприятия

Открываем свойства настраиваемой базы данных.

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

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

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

Когда мы определились с моделью восстановления можно перейти к пункту [Файлы]

Для файла [Данные строк] размер авторасширения выставляем 200МБ. По-умолчанию выставлен 1МБ и это мало. Если у вас много транзакций по 1С, тогда SQL будет вынужден постоянно выполнять авторасширение и это будет тормозить его работу.

Настройку типа файла [Журнал] можно пропустить если используется простая модель восстановления.
Если используется полная то необходимо скорректировать настройки.Авторасширение установим 50МБ. Стоит обратить внимание на ограничение авторасширения и его лучше изменить т.к. значение по-умолчанию больше 2Тб. При большом количестве транзакций, например розничные продажи в 1С Розница, журнал транзакций будет расти очень быстро и вскоре у вас закончится свободное место на накопителе. Поэтому ограничение лучше установить на 10ГБ. Но это всего-лишь рекомендация, потому-что все индивидуально и зависит от количества транзакций.

При установке ограничения стоит помнить, что при достижении крайнего значения вас ждет ошибка: "журнал транзакций для базы данных заполнен" и 1С не будет запускаться. Чтобы журнал транзакций своевременно очищался необходимо настроить его бэкап в плане обслуживания базы данных. О том как создать план обслуживания базы данных читайте здесь.

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

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

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

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

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

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

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

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

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

Подготовка к установке

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

1cv83-mssql-001.jpg

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

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

1cv83-mssql-002.jpg

На закладке Учетные записи служб обязательно установите флаг Предоставить право на выполнение задач обслуживания тома службе ядра СУБД SQL Server.

1cv83-mssql-005.jpg

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

1cv83-mssql-003.jpg

В Конфигурации сервера укажите Смешанный режим проверки подлинности и задайте пароль суперпользователю SQL - sa. Также укажите ниже администраторов данного экземпляра SQL-сервера, как минимум следует добавить текущего пользователя, но если администрировать данный экземпляр будут другие ваши коллеги, то имеет смысл сразу их указать.

1cv83-mssql-004.jpg

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

1cv83-mssql-006.jpg

Современные версии MS SQL содержат отдельную закладку TempDB, для настройки одноименной базы, в предыдущих версиях данных настроек нет и о том, как настроить данную базу будет рассказано ниже. Здесь же мы выставляем для базы: количество файлов - 4, начальный размер - от 1 ГБ до 10 ГБ, авторасширение - 512 МБ, аналогичный размер и авторасширение устанавливается для файла журнала. Также не забываем проконтролировать размещение TempDB на отдельном разделе/диске.

1cv83-mssql-007.jpg

Остальные настройки можно оставить по умолчанию и завершить установку.

Для управления сервером СУБД следует скачать и установить SQL Server Management Studio (SSMS), ее можно установить как на сервер, так и на компьютер администратора, чтобы управлять с него всеми доступными SQL-серверами. Никаких особенностей в установке SSMS нет.

Настройка операционной системы

Если у вас имеется уже установленный экземпляр MS SQL, либо вы не выполнили всех рекомендаций по установке, то следует проверить ряд настроек операционной системы. Запустим редактор локальной политики безопасности secpol.msc и перейдем в раздел Локальные политики - Назначение прав пользователя. Откроем политику Выполнение задач по обслуживанию томов и убедимся, что в списке пользователей присутствует учетная запись от имени которой работает SQL Server - NT SERVICE\MSSQLSERVER.

1cv83-mssql-009.jpg

Если ваш экземпляр MS SQL Server установлен отдельно от Сервера 1С:Предприятие, то выполните аналогичную настроку для политики Блокировка страниц в памяти.

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

Если вы имеете дело с уже установленным экземпляром SQL-сервера, убедитесь, что кодировка сравнения Cyrillic_General_CI_AS, для этого откройте Managment Studio, выберите необходимый экземпляр SQL-сервера и щелкнув на нем правой кнопкой мыши перейдите к Свойствам:

1cv83-mssql-010.jpg

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

Затем перейдите к закладке Память, за основу для расчетов принимается объем выделенного SQL-серверу размера памяти (RAM). Обычно это объем памяти сервера за вычетом ОЗУ для ОС и иных служб, например, Сервера 1С:Предприятие. Для сервера с объемом ОЗУ в 32 ГБ мы будем исходить из доступного объема в 24 ГБ, выделив 8 ГБ для ОС и сервера 1С. Но данные соотношения не являются эталоном и в вашем случае это могут быть иные числа.

Для расчета минимального объема памяти применяется формула:

Для максимального применяется полный размер RAM, за вычетом 1 ГБ на каждые выделенные 16 ГБ ОЗУ (все объемы указываются в МБ):

1cv83-mssql-011.jpg

В разделе Параметры базы данных можно проконтролировать места хранения пользовательских баз и журналов, а также изменить их при необходимости. Все изменения будут применены только к вновь создаваемым базам данных, уже существующие БД потребуется перенести в новое расположение вручную (если в этом есть необходимость).

1cv83-mssql-012.jpg

В разделе Дополнительно - Параллелизм установите параметр:

1cv83-mssql-013.jpg

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

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

1cv83-mssql-014.jpg

Затем перейдите на закладку Роли сервера и разрешите dbcreator, processadmin и public.

1cv83-mssql-015.jpg

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

Все создаваемые базы данных создаются на основе служебной базы model и к ним применяются все настройки этой БД, поэтому перейдем в Базы данных - Служебные базы данных и откроем свойства базы model. В разделе Файлы укажите значения начального размера базы от 1 ГБ до 10 ГБ, начальный размер журнала транзакций от 1 ГБ до 2 ГБ и авторасширение в 512 МБ. Выбирая начальный размер базы, нужно исходить из соображений чтобы размер файла превосходил загружаемый размер образа информационной базы 1С.

1cv83-mssql-016.jpg

В разделе Параметры укажите Модель восстановления в соответствии с применяемой политикой резервного копирования и установите параметр:

1cv83-mssql-017.jpg

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

После внесения всех изменений в конфигурацию службу SQL сервера потребуется перезапустить.

Настройка сетевых протоколов

Для настройки сетевых протоколов откроем Диспетчер конфигурации SQL Server и перейдем в раздел Сетевая конфигурация SQL Server - Сетевые протоколы для MSSQLSERVER, где MSSQLSERVER - имя вашего экземпляра, и установим следующие настройки:

1cv83-mssql-018.jpg

  • Общая память (Shared Memory) - Включено
  • Именованные каналы (Named pipes) - Отключен
  • TCP/IP - Включено

Настройка базы tempdb

В предыдущих версиях MS SQL Server нет возможности настроить параметры базы tempdb при установке, также вы могли выполнить установку со значениями по умолчанию, либо вам достался уже установленный экземпляр, в этих случаях нужно произвести дополнительную настройку. Откроем Managment Studio и перейдем в Базы данных - Служебные базы данных в свойства базы tempdb. В разделе Файлы разобьем базу на четыре файла данных и установим для них начальный размер от 1ГБ до 10 ГБ, но не менее текущего размера файла, авторасширение - 512 МБ. Аналогичные настройки установим и для файла журнала.

1cv83-mssql-019.jpg

Перенос базы tempdb

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

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

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

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

Для комфортной работы пользователей с 1С:Предприятием необходимым условием является регламентное выполнение следующих процедур:
* Обновление статистики
* Чистка процедурного кеша
* Резервное копирование

Настройка выполнения обновления статистики
В Окне SQL Server Menegement Studio - кликнем правой мышкой по пункту Планы обслуживания (Menegement->Maintenance Plans) и запустим
Maintenance Plan Wizard - кликая кнопку Next заполним наименование, описание и т.д. На странице выбора задач (S_elect Maintenance Tasks)
устанавливаем флажок Upd ate Statistics. Далее, на странице Define Upd ate Statistics Task в поле Databases выбираем одну или несколько баз, статистику которых будем обновлять.
Рекомендую такое расписание: каждый день, каждые 2 часа.

Чистка процедурного кеша
Чистка процедурного кэша выполняетсяследующим скриптом:
Код SQL

Рекомендую такое расписание: каждый день, один раз. Я сделал запуск перед началом рабочего дня (например, в 6:00) - выполнении задачи не влияет на работу пользователей.
Самое интересное - это настройка резервного копирования.

Резервное копирование (backup)
В Окне SQL Server Menegement Studio - кликнем правой мышкой по пункту Планы обслуживания (Menegement->Maintenance Plans) и запустим Maintenance Plan Wizard - кликая кнопку Next заполним наименование, описание и т.д. На странице выбора задач (S_elect Maintenance Tasks) устанавливаем флажок Back Up Database (Full).
Расписание - я делаю каждый день (лучше, но не обязательно, когда с базой никто не работает, например, ночью).
Т.к. файлы backup большого размера, то для экономии места на диске я запускаю .bat-файл (автоматическое архивирование при помощи бесплатной программы 7zip) обычным планировщиком задач Windows .

Пусть, файлы backup находятся в каталоге F:\SQL_backUp\, а архиватор 7-zip установлен в C:\Program Files\7-Zip\ тогда файл такой:
Код DOS Batch File
Автор: Лучинский Владимир

Клиент-серверный режим работы

Что означают понятия «клиент» и «сервер»? Клиентом является запрашивающая машина (обычно ПК), сервером — машина, которая отвечает на запрос. Оба термина (клиент и сервер) могут применяться как к физическим устройствам, так и к программному обеспечению.

Важно! На видео выбрана кодировка не для 1С (видео не мое)

клиент-сервер

архитектура

Обучающий ролик (внимание, анлийский язык, ролики не мои!)

Перед установкой

Для работы MS SQL Server подходят большинство современных компьютеров.

Обязательно понадобятся (они идут в дистрибутиве):

  • SQL Server Performance Dashboard Reports
  • SQL Server Best Practices Analyzer

Параметры установки

Важно! На видео выбрана кодировка не для 1С (видео не мое)

После установки

Оставьте для работы только протоколы TCP/IP и SHARED MEMORY

В версии Express экземпляр по умолчанию отличается от других версий, после имени компьютера нужно указывать именованный экземпляр SQLEXPRESS. А также по умолчанию выключен протокол TCP/IP, нужный для работы с 1С:Предприятие 8.

Обновите экземпляр сервера до актуального релиза

Обновите версию MS SQL Server 2005 до последней.

Для повышения быстродействия выключите проверку сертификатов

Перенесите tempdb на быстрый независимый массив/диски

ALTER DATABASE tempdb

ALTER DATABASE tempdb

Выключите антивирус на сервере СУБД

После всех настроек посмотрите на рекомендации SQL Server 2005 Best Practices Analyzer

SQL Server 2005 Best Practices Analyzer

http://www.gilev.ru/1c/hardware/RAID.html

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

Регламентное обслуживание

Регламентные процедуры

Рекомендуется также выполнять следующие регламентные операции:

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

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

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

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

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

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

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

Перестройка индексов мастером

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

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

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

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

Отчет о необходимости обновления индексов

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

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

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

После развертывание баз данных 1С рекомендую также настроить бесплатные онлайн-сервисы контролирующие производительность и надежность системы.

Читайте также: