Временная таблица SQL Server Создание повторяющихся записей
Я внедрил системную версионную (временную) таблицу в одну из наших производственных таблиц, которая часто обновляется. Эта таблица обновляется приложениями, опытными пользователями (вручную с помощью пользовательских сценариев и стандартизированных sprocs) и системными заданиями.
Я только что столкнулся с ситуацией, когда я вижу новую запись, вставленную в таблицу истории, но она выглядит точно так же, как предыдущая. Когда я исследую это, я вижу, что это не единичная ситуация; Есть много других. Пожалуйста, имейте в виду, что даты начала и окончания не дублируются. Дата окончания предыдущей записи совпадает с датой начала следующей записи, а все остальные данные точно такие же.
Я хотел бы предотвратить это, если это возможно, но сначала мне нужно знать, откуда это происходит.
У кого-нибудь есть опыт с этим случаем? Кто-нибудь понимает временные таблицы достаточно, чтобы дать мне потенциальные подсказки о том, что может вызвать вставку в таблицу истории без видимого изменения данных? Можно ли изменить запись без изменения полей, видимых пользователю?
Заранее спасибо.
1 ответ
Я почти уверен, что обновление таблицы, которая на самом деле не изменяет данные, но все же устанавливает их (т. Е. Обновление таблицы set field1 = field1), приведет к новой записи в таблице истории.
Я предполагаю, что это вызвано сценариями "продвинутых пользователей" (как правило, источником номерного кода из моей истории), хотя приложение также может нести за это ответственность. Возможно, у вас будет время для проверки кода, чтобы узнать, откуда приходит обновление.