2601: Cannot insert duplicate key row in object with unique index. The duplicate key value is ...
SQL Server의미
UNIQUE INDEX가 중복 키 값 때문에 행을 거부했다. 제약 조건에는 2627, 고유 인덱스에는 2601이 발생한다.
원인
UNIQUE INDEX로 보호되는 컬럼에 기존 값을 다시 기록, 동시 삽입, 또는 filtered unique index가 포함하는 행 간 충돌.
해결 방법
중복 값을 제거하거나 갱신한다. 중복을 허용해야 한다면 IGNORE_DUP_KEY = ON 옵션을 검토한다(중복은 조용히 건너뛴다). 삽입 전에 NOT EXISTS 검사를 추가한다. filtered index가 있다면 WHERE 절과 충돌 여부를 확인한다.
같은 데이터베이스의 다른 항목
- 1205Transaction (Process ID) was deadlocked on lock resources with another process and has been chosen as the deadlock victim
- 2627Violation of PRIMARY KEY / UNIQUE KEY constraint. Cannot insert duplicate key in object
- 547The INSERT/UPDATE/DELETE statement conflicted with the FOREIGN KEY / CHECK constraint
- 18456Login failed for user
- 8152String or binary data would be truncated
- 2628String or binary data would be truncated in table, column ...; truncated value