Переход с конфигурации «Бухгалтерия предприятия 2.0» на редакцию 3.0 в клиент-серверном варианте на базе MS SQL Server нередко сопровождается аварийным завершением работы конфигуратора. Особенно часто сбой происходит на этапе реструктуризации многомиллионных таблиц, таких как РегистрБухгалтерии.Хозрасчетный, с возникновением сетевой ошибки 10054 (Удаленный хост принудительно разорвал существующее подключение).
Разберем детально, почему возникает данный сбой, как правильно подготовить серверную инфраструктуру к обновлению больших информационных баз и какие альтернативные способы перехода существуют.
Рассмотрим ключевые факторы, приводящие к принудительному разрыву соединения со стороны сервера 1С или СУБД:
rphost по лимитам памяти. Если в свойствах кластера серверов 1С заданы ограничения на допустимый объем памяти рабочих процессов, кластер принудительно «убивает» процесс, вышедший за пределы лимита при обработке гигантских объемов движений. Клиент 1С в этот момент мгновенно теряет связь и возвращает ошибку 10054..ldf). Операция реструктуризации регистра с миллионами записей генерирует колоссальный объем транзакционных данных. Если база находится в полной модели восстановления (Full), лог стремительно разрастается, что может приводить к исчерпанию дискового пространства или таймаутам на авторасширение.tempdb. Создание временных индексов и перенос промежуточных данных создают критическую нагрузку на tempdb. При нехватке места операция прерывается.Разберем по шагам, как подготовить сервер перед запуском обновления базы:
0. Это предотвратит перезапуск rphost во время долгой реструктуризации..mdf) и журнала (.ldf), а также для системной базы tempdb, чтобы исключить задержки на динамическое расширение (Autogrowth).Для исключения влияния сетевых задержек и разрывов связи конфигуратора выполним обновление локально на самом сервере приложений:
"C:\Program Files\1cv8\8.3.9.2170\bin\1cv8.exe" DESIGNER /S "localhost\buh_base" /UpdateDBCfg -Server /UC КодРазрешения
Запуск реструктуризации на стороне сервера предотвращает падение сессии из-за зависания графического интерфейса тонкого или толстого клиента.
Проанализируем вариант, применимый для баз объемом до 10–15 Гб:
.dt.1Cv8.1CD), изменим размер страницы базы данных с помощью технологической утилиты cnvdbfl.exe (расположена в каталоге bin платформы). Установим размер страницы 64k:
cnvdbfl.exe -c -s 64k "D:\bases\new_buh\1Cv8.1CD"
.dt в подготовленную файловую базу и выполним обновление конфигурации до релиза 3.0 в файловом режиме..dt и восстановим ее на MS SQL Server.Если объем регистра РегистрБухгалтерии.Хозрасчетный превышает десятки миллионов записей, штатная реструктуризация таблицы может потребовать чрезмерных ресурсов. В таких случаях оптимально применить типовой перенос данных:
Такой подход полностью исключает этап тяжелой реструктуризации устаревших движений и существенно оптимизирует быстродействие новой базы в редакции 3.0.