Проблема с выгрузкой базы в *.dt

1. SanchoD 312 15.05.24 10:00 Сейчас в теме
Приветствую, коллеги!

Столкнулся с такой проблемой, при попытке выгрузить клиент-серверную базу в dt-шник, получаю ошибку (на скриншоте).
При тестировании прерывается с той же самой ошибкой:

Ошибка СУБД:
Microsoft SQL Server Native Client 11.0: Недопустимое имя объекта "dbo._RefSInf17911".
HRESULT=80040E37, SQLSrvr: SQLSTATE=42S02, state=1, Severity=10, native=208, line=1

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

Все это началось примерно через неделю после перехода с 22-й платформы на 25-ю.
База (вернее базы) пока работает, но напрягает что нельзя сделать выгрузку и протестировать, в какой-то момент может и крякнуться.

Конфигурация на замке.

Платформа 8.3.25.1257
Конфа БП 3.0.152.23

С чем это может быть связано? Какие вариант лечения траблы?
Прикрепленные файлы:
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
4. aezdakov 6 15.05.24 12:24 Сейчас в теме
(1) А по Вашей проблеме, сталкивался с битым дтшником, обновлял файловую базу, предварительно сделал дтшник в качестве бэкапа и стал накатывать обновление, но оно на середине свалилось в ошибку с аварийным закрытием 1С. Я спокойно накатываю дтшник и получаю полностью мертвую базу, восстановить не получилось, других бэкапов не было, благо клиент только вбил справочники и ввёл начальные остатки, работать ещё не начал, так что потеря была не столь критичная. С тех пор с дтшниками дел стараюсь не иметь.
Попробуйте проверить версию про платформу, разверните по соседству 22-ую платформу, и бэкап какой-нибудь базы с проблемой и попытайтесь выгрузить дтшник. Если получится выгрузить, то пробовать апаться на релиз выше 25того, можно также по соседству с бэкапной базой от греха подальше (я бы так сделал) и надеяться, что ошибку уже поправили, иначе стучаться в линию поддержки.
5. SanchoD 312 15.05.24 13:57 Сейчас в теме
(4) Я вернул 22-ю платформу и на ней попробовал выгрузить в dt ту же базу. Ошибка была аналогичная.
Т.е. версия платформы не влияла. И может быть фиг с ней, выгрузкой, можно бэкапиться скулем, но во-первых, тестирование баз так же валится с этой ошибкой, а это уже не комильфо. А во-вторых, периодически надо передавать базы и это делается через выгрузку в dt.
2. aezdakov 6 15.05.24 12:11 Сейчас в теме
Линия поддержки 1С мне сегодня по поводу этого релиза ответила:
Версия 3.0.152.23 отозвана.Сегодня 15.05.2024 планируем выпустить версию 3.0.152.ХХ с исправлением.

==========================================================
Бухгалтерия предприятия, редакция 3.0, версия 3.0.152.23 отозван.

В версии 3.0.152.23 от 7.05.2024 обнаружена критичная ошибка, в связи с чем релиз был отозван.
Проявление ошибки заключается в том, что при наличии доработок конфигурации могут быть нарушены установленные пользователем права доступа. Поэтому эту версию устанавливать не рекомендуется. В том случае, если эта версия уже установлена, но изменения в конфигурацию не вносились, ошибка не проявляется.
Очередную версию БП с исправлением указанной ошибки планируется опубликовать в тестовом варианте до конца дня 15.05.2024
3. SanchoD 312 15.05.24 12:20 Сейчас в теме
(2) Дело в том, что часть баз еще до обновления на этот релиз выдавала такую ошибку. И я одну базу руками обновил на 3.0.152.23, думая что в процессе создастся эта таблица в СУБД. Но нет, обновление прошло нормально, база запустилась в режиме Предприятия, но выгрузка и тестирование все равно ругались.
6. SkAt91 22.07.24 12:00 Сейчас в теме
Добрый день! Возникла абсолютно аналогичная проблема, но на УТ 11.5 и на другой справочник. Конфигурация на замке, но есть расширения. Платформу всегда поддерживаем на актуальном релизе. Проблему заметили 1,5 месяца назад. Есть ли какой-то результат - решение? Или причины возникновения этого? Видимо, всё-таки платформа, раз конфигурации разные. Пробовали выборочно под разными платформами запускать (23,24) ТиИ и выгрузку, но эффекта нет.
7. Lenten 26 22.07.24 12:29 Сейчас в теме
(6) могли и в релизе ут накосячить. Если в прошлый раз была проблема с релизом Бухгалтерии
8. usershmuser 22.07.24 12:44 Сейчас в теме
(6) какая версия SQL? регламентные задания в SQL выполняются?
9. SanchoD 312 22.07.24 12:44 Сейчас в теме
(6) Я создал пустые таблицы в базе на SQL сервере, на которые ругалась выгрузка.
Смотрел какие там поля (имя, тип) в других базах и создавал по мере того, как выгрузка переставала ругаться на одну таблицу и начинала на другую. Таких набралось несколько десятков. Все они относились к предопределенным значениям справочников.
11. SkAt91 23.07.24 17:49 Сейчас в теме
(7) Попробовал обновить - не помогло. С УТ 11.5.17.хх на 11.5.18.хх. Даже предварительно удалил все расширения.

(8) Версия SQL 2019.0150.2000.05. Регламентные задания выполняются. Тут я не специалист - со слов только.

(9) А можно, пожалуйста, пример того, как это делали? Абстрактный какой-нибудь. Хотя, если со стороны конфигуратора 1С смотреть структуру БД, то эта таблица есть. В бэкапе (который без ошибки) она тоже присутствует, в ней никаких предопределенных записей не было. Да и в целом, в этом справочнике "ВидыСвязейМеждуПартнерами" ничего не было.
18. SanchoD 312 23.07.24 21:33 Сейчас в теме
(11) скрипт для SQL.

В базе с именем perfobur_buh проверяет наличие таблицы _RefSInf17911, и если нет, то создает ее с полями _PDInitialized и _Fld11192 типа binary(1) и numeric(7, 0)

USE perfobur_buh;
GO

IF NOT EXISTS (
SEL ECT *
FR OM INFORMATION_SCHEMA.TABLES
WHERE TABLE_NAME = '_RefSInf17911'
)
BEGIN
CRE ATE TABLE dbo._RefSInf17911 (
[_PDInitialized] binary(1) NOT NULL,
[_Fld11192] numeric(7, 0) NOT NULL
);
END;
GO


Имя таблицы, полей и их типов смотрите в нормальной копии базы (когда они еще были)
20. SanchoD 312 23.07.24 22:03 Сейчас в теме
(18) Проблема еще в том, что таких таблиц у меня было удалено несколько десятков (в нескольких десятках баз). Можно восстанавливать базу по одной таблице, пытаясь потом выгрузить и получить имя следующей таблицы, из-за которой не работает выгрузка.
Для этого я использовал скрипт, выдающий недостающие таблицы, которые есть в архивной копии, но нет в рабочей:

-- Получаем список таблиц из базы данных karkoin_buh_copy
USE expocapital_buh;
GO

-- Создаем временную таблицу для хранения списка таблиц из karkoin_buh_copy
IF OBJECT_ID('tempdb..#TablesInCopy') IS NOT NULL
DR OP TABLE #TablesInCopy;

SEL ECT TABLE_NAME
INTO #TablesInCopy
FR OM INFORMATION_SCHEMA.TABLES
WHERE TABLE_TYPE = 'BASE TABLE';

-- Получаем список таблиц из базы данных karkoin_buh
USE test_2;
GO

-- Создаем временную таблицу для хранения списка таблиц из karkoin_buh
IF OBJECT_ID('tempdb..#TablesInBuh') IS NOT NULL
DR OP TABLE #TablesInBuh;

SEL ECT TABLE_NAME
INTO #TablesInBuh
FR OM INFORMATION_SCHEMA.TABLES
WH ERE TABLE_TYPE = 'BASE TABLE';

-- Выводим имена таблиц, которые есть в karkoin_buh_copy, но отсутствуют в karkoin_buh
SELECT TABLE_NAME
FR OM #TablesInCopy
WH ERE TABLE_NAME NOT IN (SELECT TABLE_NAME FR OM #TablesInBuh);

-- Удаляем временные таблицы
DR OP TABLE #TablesInCopy;
DR OP TABLE #TablesInBuh;
GO


После этого я в скрипт выше добавлял столько блоков по созданию таблиц, сколько нашел в расхождении.
21. SanchoD 312 23.07.24 22:05 Сейчас в теме
(20) при вставке кода скрипта имеет место разрыв в словах (например DR OP, FR OM и т.д.), удалите их (разрывы) у себя в рабочем скрипите.
10. o.kovalev 116 22.07.24 12:59 Сейчас в теме
1) Тестирование - восстановление проводили ?
2) А если выгрузить данные справочников в файл xml и очистить эту таблицу на SQL, выгрузка пройдет ? (В копии эксперименты конечно же)
12. SkAt91 23.07.24 17:56 Сейчас в теме
(10) ТиИ - да, делалось. Причем из всех пунктов эта же ошибка падает только при выборе пунктов "Реидексация..." и "Проверка ссылочной/целостности ИБ". Остальные "Пересчет итогов", "Реструктуризация..." и т.д. выполняются без ошибок.
Про пункт 2 не совсем понял. Проблемная таблица (справочник) пустая в принципе. Там очищать нечего.
13. iov 407 23.07.24 20:06 Сейчас в теме
1С:Предприятие 8.3 (8.3.25.1336)
Управление торговлей, редакция 11 (11.5.16.68)
с расширениями та-же проблема в рабочей базе есть все таблицы в копиях не хватает индексов предопределенных значений. Даже там где их нет в принципе.
14. _f_d_v_ 23.07.24 20:28 Сейчас в теме
Способ есть но он не гарантированный. Если есть возможность снять бекап с конфы средствами базы данных, то это лучше сделать до того как начнете, иначе можете остаться без конфы совсем.

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

Что касается несуществующих индексов и ссылок это не влияет на выгрузку детешника это можно сделать потом так же в тестировании и исправлении есть пункт проверка ссылочной целостности. выбираете все что там есть, а на самой форме слева и справа создавать объекты. Опять же перед этим бекап обязательно снимите.
15. user1880116 23.07.24 21:19 Сейчас в теме
(14)
перезапустить сервер баз данных
опять рестартуете сервер баз данных

И разморозить холодильник. Это важно!
16. _f_d_v_ 23.07.24 21:28 Сейчас в теме
(15) ты чуть уже утомляешь, баклажан.
Если у него mssql и памяти мало на серваке виртуальной, то может промотылять час и отвалится. Я не вижу его сервак от сюда. Рестартануть не сложно, но при этом высвобождаются ресурсы. Размер базы и что там у него на сервере происходит от сюда я не вижу. По умолчанию mssql настроен на захват максимума ресурсов сервера и назад не отпускает. Хотя чего я перед тобой бисер мечу, ты же сюда поумничать пришел.
17. user1880116 23.07.24 21:31 Сейчас в теме
(16)
Я не вижу
от сюда я не вижу

Это же неважно. Главное же дать совет.
19. iov 407 23.07.24 21:38 Сейчас в теме
(14) Спасибо попробую. Сначала хочу определить в какой момент данные пропадают.
22. Sashares 35 24.07.24 06:46 Сейчас в теме
(19)
https://partners.v8.1c.ru/forum/t/2193335/m/2193335

Шлапак Сергей (Балко-ГМ, Калининград) 02.07.2024 14:43 2193335

Данная проблема стала появляться периодически у клиентов. Столкнулся уже с четвертым случаем.

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

вылетает с критической ошибкой типа "Ошибка SQL: Таблица не найдена '_RefSInfXXXXX' "



Условия воспроизведения:

- Платформа 23 или 24 версии (на 22 не воспроизводится, на других не проверял)

- конфигурации БП ПРОФ и БП КОРП (на других пока не встречал) с небольшими доработками (добавлены реквизиты в некоторые справочники и документы)

- база на MS SQL сервере (2008, 2012)



Решение проблемы:

Если проблема обнаружена сразу, то восстановление из бэкапа, обновление и тестирование базы на 22 релизе.

Если проблема обнаружена спустя время, то экспорт отсутствующих таблиц средствами MS SQL из копии до обновления.

Тестирование теперь приходится делать на 22 релизе.

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



P.S.: На последнем релизе 24.1586 воспроизвел данную проблему на файловой копии базы. Скрины как раз с нее

Показать


Как пишут на форуме, зарегистрирована ошибка 70087249
https://bugboard.v8.1c.ru/error/000157288
23. usershmuser 24.07.24 08:50 Сейчас в теме
(11)
Регламентные задания выполняются. Тут я не специалист - со слов только.

Я имел ввиду вот это - https://its.1c.ru/db/metod8dev#content:5837:hdoc


(22)
Как пишут на форуме, зарегистрирована ошибка 70087249

Вот тоже не исключено, платформу обновляю только когда подпирает (обычно это обновление ЗУПа)))
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот