SSIS пакет Violation of Primary Key

lbppb
Дата: 31.01.2013 13:05:49
Есть 2 базы данных на двух серверах, каждую ночь одна база копирует таблицы в другую при помощи SSIS. Но сегодня произошла престранная вещь. Вылезла ошибка Violation of PRIMARY KEY constraint. Проверил все вдоль и поперек, но никаких дубликатов нет и не было. Сегодня попробовал запустить копирование вручную и все прошло как по маслу. Глюк SSMS? Есть идеи?
Гость333
Дата: 31.01.2013 13:17:01
lbppb
Есть идеи?

Есть такая идея, что ночью дубликаты были, а на момент проверки/ручного запуска их уже не было.
Гавриленко Сергей Алексеевич
Дата: 31.01.2013 13:23:28
Одновременный запуск?
Glory
Дата: 31.01.2013 13:30:56
lbppb
Глюк SSMS? Есть идеи?

А как составленный вами SSMS проверяет наличие дубликатов ? Как он логирует подобные ошибочные данные ?
lbppb
Дата: 01.02.2013 01:05:57
Гость333
lbppb
Есть идеи?

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


Такая идея пришла в голову первой, но по стечению обстоятельств я сделал копию той самой таблицы непосредственно перед ее автоматическим копированием и сегодня конечно же проверил ручную копию. Еще одна вещь, я забыл, а это важно, обе таблицы на серверах имеют одинаковую структуру и первая таблица просто не позволила бы дубликатам существовать.
lbppb
Дата: 01.02.2013 01:25:25
Гавриленко Сергей Алексеевич
Одновременный запуск?


Проверено, увы нет.
lbppb
Дата: 01.02.2013 01:29:47
Glory
lbppb
Глюк SSMS? Есть идеи?

А как составленный вами SSMS проверяет наличие дубликатов ? Как он логирует подобные ошибочные данные ?


Еще одну важную делать упустил, значит перед копированием таблица назначения транкируется. Как сказано выше, таблицы имеют одну и ту же структуру. Исходная таблица просто не позволяет вносить дубликаты в виду налиция primary keys. Поэтому проверка не нужна. А логирует история заданий сервера.
Glory
Дата: 01.02.2013 10:02:54
lbppb
. Поэтому проверка не нужна.

Угу. Особенно в свете текущей ошибки.
lbppb
Дата: 02.02.2013 00:10:44
Glory
lbppb
. Поэтому проверка не нужна.

Угу. Особенно в свете текущей ошибки.


Тогда обоснуйте.
Glory
Дата: 02.02.2013 11:40:38
lbppb
Glory
пропущено...

Угу. Особенно в свете текущей ошибки.


Тогда обоснуйте.

В нормальных системах данные сначала грузятся в staging таблицы.
Которые и используются потом для выяснения причин ошибок. Потому что будет известен набор данных в _момент возникновения_ ошибки.