Требования к пользователю базы 1с

  оглавление  Разрядность платформы как причина ошибок при выполнении обработчиков обновления

Обновлятор-1с. Переопределение настроек обновления конфигурации базы данных (реструктуризации)

Введение

Речь идёт о настройке для серверных баз, которая расположена в свойствах базы на закладке "Обновление" в разделе "Сам процесс":

Версия механизма реструктуризации

Значение "из conf.cfg" означает, что обновлятор при выполнении пакетного обновления не указывает конкретной версии механизма реструктуризации, который следует использовать. В этом случае сервер 1с полагается на настройки конфигурационного файла conf.cfg (см. описание параметра UpdateDBCfg). Если параметр UpdateDBCfg в конфигурационных файлах (сервера и клиента) не описан - используется 1-я версия механизма реструктуризации (v1).

Значение "v1" означает 1-ю версию механизма реструктуризации, которая используется по умолчанию.

Значение "v2" означает 2-ю оптимизированную версию механизма реструктуризации, которая описана, например, здесь и здесь.

Параллелизм СУБД в процессе реструктуризации

Изменение параллелизма СУБД на время реструктуризации подробно описано здесь.

В обновляторе этот механизм реализован пока только для MS SQL Server.

Первое число означает значение параметра maxdop, которое обновлятор устанавливает на время выполнения обновления базы данных. Второе число означает значение этого же параметра, которое обновлятор устанавливает после выполнения реструктуризации.

Очевидно, что менять параллелизм для сервера СУБД через обновлятор имеет смысл только при однопоточном выполнении операций.

Внимание. Если в процессе изменения параллелизма обновлятором возникает ошибка "Параметр конфигурации max degree of parallelism не существует, либо это расширенный параметр", то необходимо один раз включить отображение всех параметров конфигурации сервера, выполнив запрос:

EXEC sp_configure 'show advanced options', 1
   RECONFIGURE

Как получать полное описание ошибки при работе оптимизированного механизма реструктуризации (v2)

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

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

В этом случае можно выполнить эту же операцию интерактивно через конфигуратор - там будет полный текст ошибки.

Но я советую поступить по-другому.

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

Файл настройки logcfg.xml для сбора данных конф. журнала будет таким: ссылка.

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

Значение параметра location равное "c:\log1c" означает путь к папке, куда 1с будет записывать данные технологического журнала. Данная папка должна быть уже создана и пользователь, под которым работает обновлятор должен иметь права на запись в эту папку.

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

Разместить файл logcfg.xml удобней всего для конкретного пользователя операционной системы, под которым запускается обновлятор (и соотв. конфигуратор для пакетных операций), в папке "C:\Users\username\AppData\Local\1C\1cv8\conf".

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

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

В данном конкретном случае причина ошибки - не был запущен сервис "SQL Server Browser".

По каким причинам может не работать второй механизм реструктуризации

Прежде всего на сервере 1с должна быть установлена среда исполнения Java 8 Full JRE той же битности, что и сам сервер 1с.

К SQL серверу должно быть возможно подключение по протоколу TCP/IP (для MS SQL Server этот параметр настраивается в SQL Server Configuration Manager в разделе SQL Server Network Configuration).

Для MS SQL Server версии 2005 и позднее должна быть запущена служба SQL Server Browser.

Могут быть и более специфичные причины ошибок, связанные непосредственно с базой данных (например, индексы отличные от стандартных). В этом случае я советую собрать подробную информацию по ошибке из технологического журнала. И если всё-равно не получится разобраться самому - обращаться с этой информацией в службу технической поддержки 1с.

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



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

Нажмите одну из кнопок, чтобы поделиться:



Требования к пользователю базы 1с

  оглавление  Разрядность платформы как причина ошибок при выполнении обработчиков обновления