При развертывании новой информационной базы или переносе существующей базы на сервер «1С:Предприятия» 8.3 под управлением MS SQL Server администраторы могут столкнуться с критической ошибкой во время авторизации пользователя или запуска сеанса. Программа выдает невосстановимую ошибку при выполнении запроса POST к ресурсу /e1cib/login с пояснением: «Ошибка СУБД: Недопустимое преобразование типов данных в записи». При этом база данных может блокироваться в консоли кластера, не позволяя ни запустить сеанс, ни корректно отредактировать ее параметры.
Разберем подробнее причины возникновения этой неполадки и рассмотрим пошаговые способы ее устранения.
Проанализируем ситуацию: начиная с платформы версии 8.3.8, разработчики 1С существенно переработали механизмы работы с СУБД MS SQL Server. Были изменены правила сопоставления внутренних типов данных (в первую очередь полей составного типа и дат) с типами полей SQL-сервера. Это привело к ужесточению требований к окружению СУБД и структуре таблиц.
К основным причинам сбоя относятся:
SQL Server Native Client (версии 11.0 или новее) либо используется стандартный устаревший OLE DB провайдер, запросы кластера 1С к системным таблицам базы приводят к ошибке несовместимости типов данных.SQL Server Management Studio (SSMS) без участия платформы 1С не формирует служебные таблицы и метаданные. При попытке кластера подключиться к такой «сырой» базе происходит сбой транзакции инициализации.Выясним причину на уровне драйверов: платформа 1С версий 8.3.8 и выше требует наличия компонента SQL Server Native Client для корректной передачи типизированных запросов авторизации.
services.msc) и выполним перезапуск службы Агент сервера 1С:Предприятия 8.3.Рассмотрим по шагам правильный алгоритм переноса и создания базы данных на сервере 1С, исключающий структурные ошибки метаданных:
Администрирование — Выгрузить информационную базу... и сохраним файл с расширением .dt.db_owner) и выберем смещение дат 2000.Администрирование — Загрузить информационную базу... и укажем ранее выгруженный .dt-файл.Если база данных уже существовала в СУБД и к ней подключается новый кластер 1С, проанализируем настройки безопасности и выполним проверку целостности:
SQL Server Management Studio убедимся, что учетная запись, под которой сервер 1С подключается к СУБД, имеет роль db_owner для рабочей базы данных, а также права на создание временных таблиц в системной базе tempdb.Cyrillic_General_CI_AS.Администрирование — Тестирование и исправление....Выполнение указанных шагов позволяет устранить конфликт преобразования типов данных при выполнении запросов авторизации и восстановить штатную работу информационных баз на сервере «1С:Предприятия».