Исправление проблемы "CREATE UNIQUE INDEX terminated because a duplicate key was found for index..." для SQL

Публикация № 14162

Программирование - Практика программирования

25
Исправление проблемы "CREATE UNIQUE INDEX terminated because a duplicate key was found fo index" для SQL.
Кнопка "Сформировать" - посмотреть список "проблемных" записей.
Кнопка "Исправить перезаписью..." - перезаписывает проводки документов, попавших в таблицу, т.е. сперва необходимо нажать кнопку "Сформировать".
Кнопка "Исправить запросом" - прямой sql запрос. Работает независимо от того, заполняли предварительно таблицу или нет.

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

Скачать файлы

Наименование Файл Версия Размер
-
.zip 8,29Kb
25.09.09
318
.zip 8,29Kb 318 Скачать бесплатно

См. также

Специальные предложения

Вознаграждение за ответ
Показать полностью
Комментарии
Избранное Подписка Сортировка: Древо
1. harleq 27 19.06.06 15:21 Сейчас в теме
А можно узнать подробнее об этой проблеме?
2. antonrost 19.06.06 15:26 Сейчас в теме
Проблема возникает на больших sql базах при большом количестве документов, записанных в пределах одной секунды (как правило - 23:59:59).
В этом случае иногда возникает ситуация, при которой время документа не соответствует времени проводок по этому документу. При реструктиризации таблицы _1sjourn возникают 2 записи с одинаковым ключевым полем (что недопустимо). В принципе, решается выгрузкой/загрузкой, но в один прекрасный момент наступает предел (zip > 2 Гб). В этом случае спасает только прямой SQL запрос.
rendalina; sway85; +2 Ответить
3. antonrost 19.06.06 15:30 Сейчас в теме
Да, забыл... Еще решается удалением и повторным созданием проводок у проблемных документов. Или просто перепроведением (если это возможно).
4. 09.09.06 19:32 Сейчас в теме
Падает 1С-ка при работе данной обработки, пробовал сформировать падает, исправить запросом тоже падает. Почему ?
5. 09.09.06 19:33 Сейчас в теме
Да чуть не забыл, конфа комплексная 462, 7.7 25 билд, 1C++ последний
6. acsent 1138 10.09.06 01:19 Сейчас в теме
Реально на таком ломаном английском ошибка выходит?
7. antonrost 11.09.06 07:58 Сейчас в теме
Использует 1с++ dll, поэтому падает если ранее был загружен formex.dll.
8. 26.09.06 01:20 Сейчас в теме
formex.dll - не загружал
а программа падает .

Выскакиваеттакое сообщение

Message: [Microsoft][ODBC SQL Server Driver][SQL Server]CREATE UNIQUE INDEX terminated
because a duplicate key was found for index ID 2. Most significant
primary key is ' 43 '.

Стоит 1с вер 7.7.023+ Win 2000+ SQL 2000

Я создаю пустую базу. Загружаю МД. файл - потом выгружаю информацию.
Загружаю в пустую базу и выдает это сообщение

Что это может быть.
К меня вообще никаких записей нет. Что может дублироваться?

Спасибо заранее
vladibor@ukr.net
9. 26.09.06 07:49 Сейчас в теме
Спасиб, буду знать почему такая ошибка.
10. LusiCat 20.02.11 14:04 Сейчас в теме
11. sorb 25.09.12 22:08 Сейчас в теме
интересует один момент: был запущен пересчет итогов, в процессе вылезла сия ошибка, в базу для запуска обработки естественно уже зайти невозможно. Удалил дубли в 1scrdoc ручками, зашел, прогнал обработку, все ок (автору спасибо). НО! Неуникальных уников было порядка сорока, руками чистить утомительно. Не будет ли большого зла во временном отключении уникальности для проблемного индекса (чтобы просто в базу зайти)?
12. rendalina 12.08.13 06:37 Сейчас в теме
Антон, спасибо большое, обработка очень помогла.
Но при исправлении дублей в _1sentry прямым sql-запросом, проводки исчезают из оборотно-сальдовой ведомости, а при перепроведении документа появляются назад.
Можно ли потом как-то отследить такие "пропавшие" проводки?

Не возникнет ли каких-то подобных "побочных эффектов" при удалении дублей в _1soper прямым sql-запросом? А то там много дублей возникает, перепроводить долго получается, да и не все документы перепроводятся по различным причинам. А по кнопке "Исправить список перезаписью операций" дубли не убираются.
Оставьте свое сообщение