Расшифровка ошибок MS SQL

 

Пример текста сообщения об ошибке

HRESULT=80004005, SQLSrvr: Error state=3, Severity=C, native=601, line=1

Как расшифровывается

HRESULT=80004005 — номер ошибки, именно номер «80004005» обозначает ошибку СУБД, а в данном контексте это Microsoft OLE DB Provider. Кроме этого, описание большей части номеров здесь

Error state=3 — номер состояния сообщения об ошибке, имеет значение от 0 до 127

Severity=C — уровень серьезности ошибки. Имеет значение от 0 до 25

Уровень серьезности от 0 до 18 может указать любой пользователь. Уровни серьезности от 19 до 25 могут быть указаны только членами фиксированной серверной роли sysadmin и пользователями с разрешениями ALTER TRACE. Для уровней серьезности от 19 до 25 требуется параметр WITH LOG.Если ошибка возникла в компоненте SQL Server Database Engine, серьезность ошибки указывает на тип проблемы, с которой столкнулся сервер SQL Server.

native=601 — номер ошибки, список номеров

Ошибки 1505, 1508 случаются когда предпринимается попытка создания индекса (уникального или кластерного)

2601 — при попытке вставки записи (либо изменении поля существующей записи) и при этом нарушается уникальность уже существующего индекса

line=1 — номер строки, в которой произошла ошибка