Расшифровка кодов ошибок MS SQL (при установке в клиент-серверном варианте) |
Написал Обслуживание 1С Одесса
|
Иногда, в результате работы 1С: Предприятия в клиент-серверном варианте, приходится сталкиваться с ошибками, вызванными не самой платформой 1С, а сервером SQL. Так как наиболее распространен вариант установки на Microsoft SQL Server, рассмотрим, каким образом 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 - при попытке выполнения команды INSERT, добавления записи (или модификации поля существующей записи), но при этом возникает нарушение уникальности у уже старого индекса
line=1 - Порядковый номер строки, в которой фактически произошла ошибка
Идентифицировать ошибку более точно можно на поисковой странице. |
Последнее обновление ( 23.12.2009 )
|