n1ro°
RU

Ошибки · Решение

SQL Server ошибка 1505: что означает и как исправить

Создание UNIQUE index/constraint остановлено, потому что в существующих данных найден дублирующийся ключ.

Редакция N1RO · Проверено

Короткий ответ

SQL Server error 1505 — Duplicate key while creating UNIQUE index. Сначала зафиксируйте полный текст сообщения и контекст операции, затем устраняйте конкретную причину.

Что означает ошибка

Создание UNIQUE index/constraint остановлено, потому что в существующих данных найден дублирующийся ключ.

Возможные причины

  • В таблице уже есть две или более строки с одинаковым значением будущего уникального ключа.
  • Составной unique key не соответствует фактической модели данных.
  • Перед миграцией не была выполнена очистка дублей.

Что проверить

  • Возьмите duplicate key value из текста error 1505.
  • Найдите все строки с этим ключом и определите, какие из них корректны.
  • Проверьте, действительно ли бизнес-правило требует UNIQUE для выбранных колонок.

Безопасные шаги

  1. Устраните или объедините дубликаты до создания индекса.
  2. Не удаляйте строки автоматически без проверки владельцем данных.
  3. Повторите CREATE UNIQUE INDEX/constraint после очистки и контрольного запроса на дубли.

Только безопасные обратимые действия. Опасные шаги — только по официальной инструкции и с пониманием рисков.

Когда нужен сервис

  • Если SQL Server 1505 повторяется после базовой проверки, приложите полный текст ошибки, SQL Server error log, версию/edition и контекст операции DBA или владельцу инфраструктуры.

Похожие ошибки

  • /errors/sql-server-error-102/
  • /errors/sql-server-error-823/
  • /errors/sql-server-error-824/

Что учитывать

Точная причина зависит от версии ПО/прошивки, полного текста ошибки и контекста. Официальная инструкция имеет приоритет.

Официальный источник

Расшифровка сверена с официальными страницами поддержки из источников ниже. Редакция N1RO не диагностировала ваш конкретный случай.