У меня есть хранимая процедура, которая вставляется в таблицу (где есть столбец идентификаторов, который не является первичным ключом - PK вставляется изначально, используя дату / время для генерации уникального значения).
Затем мы используем SCOPEIDENTITY () для вставки значения, затем есть некоторая логика для генерации значения поля первичного ключа на основе этого значения, которое затем обновляется обратно в таблицу.
В некоторых ситуациях хранимая процедура вызывается одновременно более чем одним процессом, что приводит к ошибкам «Нарушение ограничения PRIMARY KEY ...».
Это может указывать на то, что в столбце идентификаторов допускается вставка одного и того же номера для нескольких записей.
Первый вопрос - как это возможно?
Второй вопрос - как это остановить ... в настоящее время нет обработки ошибок, поэтому я собираюсь добавить логику try / catch - но хотел бы полностью разобраться в проблеме, чтобы решить ее правильно