Попытка подключения к контексту сервера с неподходящей версией метаданных 1с

Обновлено: 05.07.2024

Системные события механизмов платформы, предназначенные для анализа специалистами фирмы «1С». Настройка событий данного типа должна производиться на основе явных указаний со стороны службы технической поддержки и только на время воспроизведения какой-либо расследуемой проблемы. В противном случае, подобная настройка может привести к существенному увеличению объемов файлов журнала и замедлению работы приложения

предоставляет возможность анализа программных лицензий

диагностика использования циклических ссылок при работе встроенного языка

При работе под управлением ОС macOS стало возможно использование системного хранилища сертификатов для организации защищенного соединения

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

Событие возникает при срабатывании механизма очистки сеансовых данных

Его имя построено по шаблону: ИмяПроцесса_Релиз_АдресОшибки_ГГГГММДДЧЧММСС_PIDПроцесса.mdmp

В котором ГГГГММДДЧЧММСС – это дата и время падения.

Каждая ошибка, из-за которой происходит падение, имеет свой уникальный АдресОшибки.

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

Обязательно указывайте следующую информацию:

Версию и разрядность серверной ОС
Разрядность сервера 1С
Количество серверов в кластере
Количество запущенных рабочих процессов на сервере 1С
Версию используемой СУБД
Ссылки на архив с дампом и логами для скачивания.

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

Примечание.
UUID информационной базы можно посмотреть в файле
C:\Documents and Settings\<Имя пользователя>\Application Data\1C\1Cv81\ibases.v8i.

Часто программисты не учитывают, что есть список объектов, НЕ доступных для динамического обновления
Регламентные задания
Общие реквизиты
Планы обмена
Реквизиты, предопределенные элементы, иерархия, владельцы, нумерация справочников
Реквизиты, нумерация, движения, последовательности, ввод на основании документов
Перечисления
Тип значений характеристик, реквизиты, нумерация, предопределенные элементы планов видов характеристик
Реквизиты, нумерация, субконто, предопределенные элементы планов счетов
Реквизиты, нумерация, расчет, предопределенные элементы планов видов расчета
Реквизиты, регистраторы регистров сведений, накопления, бухгалтерии, расчета
Реквизиты, нумерация, расчет, предопределенные элементы планов видов расчета
Реквизиты, адресация, нумерация задач
Реквизиты, нумерация, ввод на основании бизнес-процессов

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

Если вы работаете с часто изменяемой печатной формой и не хотите постоянно выгонять пользователей, используйте внешние обработки.
Хорошей практикой считается все плановые изменения вносить например раз в неделю, например во вторник. К этому дню все правки тестируются не только по отдельности, но и в общем взаимодействии. Если во вторник информационная система ухудшила свою работу, значит сразу понятно, что надо откатить последний релиз к предыдущему. А это означает бэкап не только базы, но и бэкап cf перед внесением изменений.

Если Вы словили проблему связанную с динамическим обновлением, то обязательно очистите сеансовые данные с рестартом службы сервера 1С.
Если проблема не ушла, то запускайте сеанс 1С с ключом /ClearCache .

Преодолеть зависимость от динамического обновления мне помогли 12 простых шагов:

12 ШАГОВ , РАЗРАБОТАННЫЕ САМИМИ ДИНАМИЧЕСКИМИ ОБНОВЛЯЛЬЩИКАМИ
1. Признать свое бессилие перед поведением платформы 1с при динамическом обновлении.
2. Согласиться с утверждением, что без посторонней помощи не обойтись.
3. Мысленно перепоручить себя некой Высшей силе, которая поможет.
4. Проанализировать свои поступки.
5. Признать перед собой и кем-то еще свои ошибки.
6. Не сомневаться, что бекап перед динамическим обновлением сработает.
7. Просить высшие силы избавить от недостатков.
8. Составить список всех людей, кому причинили зло, и захотеть загладить свою вину перед ними.
9. Лично возместить этим людям ущерб, нанесенный вами и вашим динамическим обновлением.
10. Продолжать самоанализ и, при малейших ошибках, сразу признавать, что вы их таки совершили.
11. Не переставать размышлять и благодарить помощника из пункта 3.
12. Достигнув пробуждения, благодаря пунктам 1-11, помогать другим динамическообновлялщикам.

Механизм работы обновления:
Процесс динамического обновления (и обновления вообще) происходит следующим образом:

Есть одно не хитрое житейское наблюдение:

Дата выхода (технологическая, а не продажи вам лично) платформы 1С:Предприятия, операционной системы, субд, сопровождающего ПО и ВНИМАНИЕ! железа
должны различаться не больше чем на несколько лет!

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


Почему возникает такая проблема


При этом хранилище доступно по протоколу tcp.

Как устраняется проблема

1. Для решения проблемы надо воспользоваться утилитами Sysinternals REGMON и FILEMON.

Отследить сервис w3wp.exe (IIS) в момент попытки соединится с хранилищем

HKLM\SYSTEM\Services\Winsock\Parameters
HKLM\SYSTEM\Services\TCPIP\Parameters
HKLM\SYSTEM\Services\NetBIOS\Parameters
HKLM\SYSTEM\Services\Gpc\Parameters

В этом случаи потребовалось дать права IUSR_SRVNAME на чтение.

Внимание! Это не стандартная ситуация. Чаще всего это либо не проявится вообще, либо может быть другое приложение.

Даем права на чтение и выполнение IUSR_SRVNAME.

Внимание! Это тоже не стандартная ситуация. Чаще всего это либо не проявится вообще, либо может быть другое приложение.

Даем права на чтение и выполнение IUSR_SRVNAME.

filemon

В данном конкретном примере это оказалось решением.

1. Создаем новую базу с таким же именем и такими же по именам и расположению .mdf и .ldf файлами

2. Останавливаем сервер, подменяем файл .mdf

3. Стартуем сервер, не обращаем внимания на статус базы

4. Там же выполняем:

и запоминаем/записываем значение на случай неудачи ребилда лога.

5. Там же выполняем:

6. Перезапускаем SQL Server.

7. В принципе база должна быть видна (в emergency mode). Можно, например, заскриптовать все объекты.

9. Если все нормально, то там же выполняем:

10. Если все в порядке, то:

Добавлен встроенный веб-сервер (только для одной базы, из командной строки управление).

Реализован упрощенный OLAP . Теперь можно работать на чтение с копией таблицы с ведомой СУБД.
Реализовано событие технологического журнала <DBCOPIES > .Механизм копий базы данных требует лицензию КОРП.

При чтении помещеной копии таблицы в таблицу Inmemory используется новый механизм Дата акселератор. Добавлен в виде отдельной функции менеджера кластера.

Реализован пакетный режим работы тонкого и толстого клиентских приложений. Пакетный режим распространяется от начала запуска клиентского приложения до окончания работы обработчика ПередНачаломРаботыСистемы модуля приложения. После окончания работы обработчика пакетный режим автоматически отключается. В пакетном режиме запуска подавляется вывод любых диалогов системы. Признаком пакетного режима работы клиентского приложения является команда командной строки запуска /DisableStartupDialogs .

Уменьшено время полного пересчета итогов для регистров бухгалтерии и накопления в следующих случаях:

  • пересчет итогов во время операции Тестирование и исправление из конфигуратора;
  • использование метода ПересчитатьИтоги() при выполнении следующих условий:
    • монопольный доступ к информационной базе;
    • наличие административных прав у пользователя, от имени которого выполняется пересчет итогов;
    • метод исполняется в сеансе, в котором не используется ни одного разделителя.

    Ускорено выполнение реструктуризации информационной базы при использовании СУБД Microsoft SQL Server и IBM DB2.

    Уменьшилась вероятность одновременного закрытия множества соединений с Microsoft SQL Server, что положительно влияет на производительность работы с TempDB .

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

    В тонком, толстом и веб-клиентах, форма снимает блокировку объекта через 1 минуту после снятия признака модифицированности.(раньше снималась при закрытии формы)При работе под управлением СУБД PostgreSQL, в технологический журнал (событие <plansql> ) помещаются планы запросов для запросов UPDATE , DELETE и INSERT . (Раньше был только SELECT)

    Реализовано отображение критических ошибок оптимизированного механизма обновления конфигурации базы данных в конфигураторе и в событии <EXCP> технологического журнала.

    В технологическом журнале реализованы свойства Dbms , Database , DBCopy для событий обращения к СУБД ( DB2 , DBMSSQL , DBPOSTGRS , DBORACLE ), событий EXCP и SDBL .

    Нагуглил: "Указанный каталог относится к сеансовым данным. Сервис сеансовых данных обеспечивает хранение и кеширование сеансовой информации, например, информация форм управляемого приложения" (с) Вячеслав Гилёв. Я так понимаю противопоказаний к очистке нет?

    У меня ещё была мысль почистить индексы полнотекстового поиска. Но с другой стороны не могли они поломаться сразу на четырех базах.

    (4) К сожалению не помогло, дело осложняется, что возникает ошибка редко, примерно раз в сутки. Хотя на сайте 1С, написано, что исправлено ещё в 8.3.8.1933 (8) Научился моделировать ошибку, возникает в 40% случаев, логи ТЖ отправил в 1С. Насчет обновления, видимо да, придется. Чем кончилось? У меня при восстановлении базы в SQL такая же ошибка. 8.3.9.2170 ошибка повторяется раз в день - два, чистка кеша не помогает, в описаниях новых платформ нет описаний на исправление этой ошибки, поэтому обновляться нет смысла ибо 10ка еще глючнее, Так что колемся и продолжаем жрать кактус.
    как временное решение настроили перезапуск процессов раз в два часа.
    ..
    Кстати, а как смоделировать ошибку.

    (11) У нас как раз на 8.3.9.2170 ошибка ушла. ТП 1С, тогда ответили, что:
    "Ошибка произошла при выполнении фонового задания, инициированного поиском в динамическом списке. Исправлена в ошибке (10168235) релиз платформы 8.3.9.1912".

    Рекомендую написать в ТП об этом.

    Моделировал так: забивал в строку поиска текст которого там точно нет, желательно подлиннее. То есть, что-то вроде: "вафйхцкхушкгуцовдаовы". Так и валилось в 40% случаев.

    (11)
    Здравствуйте. Вы настроили перезапуск рабочих процессов в консоли? Комрады 8.3.10.2580 (64х; MS SQL 2016) повторяется при попытке залить базу из dt 12 гБ. Перезапуск не помогает рушится минут через 40
    Как лечить еще варианты есть? (14) Загрузка из dt весом 12 гектар что-то за гранью добра и зла. Пользуйтесь копией из MSSQL. insurgut; Winstoncuk; AlbertZ; savauu; maXon777; NDN; XelOla; alexam; EMelihoff; + 9 – 1 Ответить (16) Чувствуется, что накипело ))) Насчет нормального ответа, нам помог переход на 8.3.9.2170. Что поможет Вам или (14), кто знает лучше вас? В ТП 1С писали? Они скорее всего попросят настроить ТЖ, может быть по нему чего-нибудь скажут, а Вы нам расскажите Hi! Самое смешное, что данная ошибка не возникает на постгресе. Решил, тут, на мс перейти. И при восстановлении базы - такая фигня. 1с - 8.3.8.2197. Ну вот и зачем лям платить за mssql? (21)
    Здравствуйте! нашли ли решение?
    у меня такая ошибка возникла, когда я в пустую базу на постгри стала грузить выгрузку около 974 МБ.
    Что делать? (22)
    Здравствуйте.
    Пока хорошего не нашел. Все попытки на уровне тестирование и исправление базы/перезапуск сервера/смена релиза и т.п. А поскольку проблема в моем случае не 100%-но повторяемая, сложно сказать, решилась ли она. В последний раз, когда написал (21), вроде ушло после перезапуска сервера. Такое случается, если заранее ограничили рост лог-файла в SQL. В MSQL можно поставить модель восстановления "Простая"

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

    "попытка подключиться к контексту сервера с неподходящей версией метаданных. Правильный контекст сервера имя_новой_базы"

    Так что, нельзя подружить на одном сервере базу и ее дубль? Может, можно метаданные у dt подредактировать?

    Удалось подселить копию базы с тем же именем, создав еще один кластер и в нем эту базу.
    Но чет не соображу, как к ней подключиться? Если указываю порт кластера
    Server:1600 , все равно подключается к первой базе.
    А Server\имя_кластера тоже не прокатывает - нет подключения даже локально. При обновлении конфигурации словил такую ошибку.
    Нужно почистить кэш сервера и пользователя.
    Затем зайти в БД в режиме предприятия и не закрывая зайти в конфигуратор (29)
    8.3.7.1790
    Помог рестарт службы "Агент сервера 1С:Предприятия 8.3" Получил такую же ошибку, когда создал новую базу в кластере и стал грузить туда ДТ.
    1С:Предприятие 8.3 (8.3.11.2867) Та же ошибка.
    PostgreSQL
    8.3.10.2667
    Сделал узел РИБ по организации, создал первоначальный его образ в файловую базу. Выгрузил её в DT. Заливаю DT в новую базу PostgreSQL на том же сервере. Получаю эту ошибку. (32)
    Остановил агент сервера
    Остановил PostgreSQL
    Подождал немного
    Запустил PostgreSQL
    Запустил агент сервера
    База залилась без ошибки Помогла очистка кэша 1с (из списка информационных баз удаляешь базу, потом заново восстанавливаешь в списке, приписывая путь), а также перезапуск агент сервера 1с.

    База MS SQL 2014.
    БП ред. 2.0
    Версия платформы 8.3.12.1529

    При загрузке та же ошибка. Помогло смена Recovery model на Simple.
    1C по умолчанию при загрузке на новую пустую (несуществующую) базу SQL создает с режимом Full.

    Если не используете средства SQL для восстановления - то можно смело ставить Simle

    Аналогичная ситуация возникла при загрузке dt в пустую базу на MSSQL.
    Платформа 8.3.12.1790.
    Решил так:
    Поставил в консоли блокировку регламентных заданий.
    Загрузил базу, ошибки не было.
    Отключил блокировку. Поставил в консоли блокировку регламентных заданий. Добрый день, тоже была такая ошибка, восстановил из DT предварительно сделав:
    - блокировку регламентных заданий в консоли для данной базы
    -перевел в SQL в режим Simple

    Дано:
    новая база на PostgreSQL 10.6 on x86_64-pc-linux-gnu (врядли тип СУБД имеет значение)
    Загружаем ДТ, в моем случае конвертация 3 из комплекта поставки в темплейтс.
    Видим ошибку как в сабже. (соглашусь что условия не совсем как в теме но у многих судя по комментариям она возникает именно в такой ситуации )

    Что делать?
    Открыть свою новую базу в конфигураторе, добавить любой справочник с реквизитами (я просто скопировал банки из УТ), обновиться (еще я запускал предприятие, но это вроде не обязательно)
    А теперь загружаем DT без ошибок.
    Плюсуйте если помогло =)

    Послесловие. Этот способ мне помогал при различных проблемах, часто при жестком креше на динамическом обновлении конфы, Для решения достаточно было добавить какой нибудь реквизит к справочнику или документу. После обновления реквизит удаляем. Данное решение помогало ms sql 2008 и 1С 8.2. Как оказывается работает и на Постгре с 1С 8,3,13.

    1С Ошибка при выполнении операции с информационной базой

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


    Ошибка у пользователя при запуске базы в режиме "1С:Предприятие" 8.3:
    Ошибка при выполнении операции с информационной базой


    Или такая ошибка:
    Ошибка установки соединения. Выполняется ожидание возможности запуска. При появлении возможности, запуск будет выполнен автоматически.


    Ошибка при запуске кластера 1С:
    Ошибка соединения с сервером 1С: Предприятия 8.3:
    server_addr = tcp://<название сервера + порт>
    descr = <IP port>: No connection could bе made because the target machine actively refused it.
    line =1040
    file = src\DataExchangeTcpClientImpl.cpp


    Один из вариантов решения:
    Проверьте, запущен ли "Агента сервера 1С:Предприятие" в списке служб (Services - "Агент сервера 1С:Предприятие 8.3"). Должно быть состояние Running.


    Если пусто, то нужно запустить службу - Старт (Start).
    Если служба уже запущена, то рекомендуется сделать перезапуск - Restart.


    Также можно проверить в кластере нет ли запрета на запуск базы в ее свойствах (например, установленного при обновлении базы):


    Если при запуске свойств базы кластер попросит логин и пароль в окне "Администратор информационной базы", то вводим логин-пароль администратора конфигурации (т.е. тот, который вводим при запуске конфигуратора конкретной базы), а не администратора кластера.


    В свойствах базы проверяем блок "Блокировка начала сеансов включена" - поля должны быть пусты, как на рисунке ниже:

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