Невозможно вставить повторяющуюся ключевую строку в объект "dbo.#tt42" с уникальным индексом
В один прекрасный день сломался обмен РИБ на стороне периферийной базы.
1С (платформа 1С:Предприятие 8.3 (8.3.8.2088)) пишет следующее сообщение:
Ошибка при чтении изменений при обмене РИБ: Ошибка при вызове метода контекста (ПрочитатьИзменения): Попытка вставки неуникального значения в уникальный индекс:
Microsoft SQL Server Native Client 10.0: Невозможно вставить повторяющуюся ключевую строку в объект "dbo.#tt42" с уникальным индексом "idx42".
HRESULT=80040E2F, SQLSrvr: SQLSTATE=23000, state=1, Severity=E, native=2601, line=1
в SQL я не силён, но сдаётся мне что это таблица во временной базе tempdb. Пошел смотреть эту базу, а временной таблицы с таким именем в ней нет. Шайтан какой-то.
Размер базы в SQL варианте 50 Гб. С самой базой 1С проблем нет (ну я так думаю). Выгрузка в dt и загрузка в чистую базу SQL прошла без проблем. Локальные пользователи в ней работают без каких-либо проблем.
Подскажите, в чём может быть проблема?
1С (платформа 1С:Предприятие 8.3 (8.3.8.2088)) пишет следующее сообщение:
Ошибка при чтении изменений при обмене РИБ: Ошибка при вызове метода контекста (ПрочитатьИзменения): Попытка вставки неуникального значения в уникальный индекс:
Microsoft SQL Server Native Client 10.0: Невозможно вставить повторяющуюся ключевую строку в объект "dbo.#tt42" с уникальным индексом "idx42".
HRESULT=80040E2F, SQLSrvr: SQLSTATE=23000, state=1, Severity=E, native=2601, line=1
в SQL я не силён, но сдаётся мне что это таблица во временной базе tempdb. Пошел смотреть эту базу, а временной таблицы с таким именем в ней нет. Шайтан какой-то.
Размер базы в SQL варианте 50 Гб. С самой базой 1С проблем нет (ну я так думаю). Выгрузка в dt и загрузка в чистую базу SQL прошла без проблем. Локальные пользователи в ней работают без каких-либо проблем.
Подскажите, в чём может быть проблема?
Найденные решения
Остальные ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
Таблица с префиксом # это локальная временная таблица. Такая таблица видна только во время текущего сеанса. В #tt42 42 это суффикс, который устанавливается SQL сервером и может быть разным.
Как я понял, придется мне ковырять все данные, зарегистрированные для обмена для этого узла и искать там косячные данные
Платформу пора менять. В 8.3.8 и 8.3.9 постоянно выходили ошибки с временными таблицами и при обмене, и при обычной работе пользователей. Перешли на 8.3.10.2580 пропали.
Пришлось сохранить все изменения для узла, очистить регистрацию и завтра по списку буду регистрировать данные кусками и обменивать базы ... долго, муторно, но есть шанс выловить косячные данные, ломающие обмен.
Кстати говоря, у нас 10 периферийных узлов ... везде ходят одинаковые данные, но обмен сломался только с одним узлом.
Кстати говоря, у нас 10 периферийных узлов ... везде ходят одинаковые данные, но обмен сломался только с одним узлом.
Внимание! Тема сдана в архив
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот