DBAtlas · 데이터베이스 운영 아틀라스

50000: Custom error raised with RAISERROR (RAISERROR로 발생시킨 사용자 정의 오류)

SQL Server

의미

메시지 ID를 지정하지 않고 RAISERROR로 발생시킨 사용자 정의 오류의 기본 번호(50000)이다. 애플리케이션/프로시저 로직이 의도적으로 오류를 발생시켰다.

원인

비즈니스 규칙 위반, 유효성 검사 실패, 의도적인 흐름 제어 또는 사용자 정의 예외 메시지를 위해 저장 프로시저나 스크립트에서 RAISERROR 또는 THROW로 발생시킨 사용자 정의 오류.

해결 방법

RAISERROR/THROW 메시지 텍스트를 읽어 실제 비즈니스 규칙 위반을 파악한다. 애플리케이션 측에서 TRY...CATCH로 이 오류를 잡고 ERROR_MESSAGE()/ERROR_NUMBER()로 세부 정보를 얻는다. sp_addmessage로 메시지를 정의하여 사용자 정의 오류에 의미 있는 번호를 부여한다. 비즈니스 로직에서 원인 조건을 수정한다.

DBAtlas에서 열기 →

같은 데이터베이스의 다른 항목