본문 바로가기
컴퓨터관련/MS-SQL

[MS-SQL]에러코드로 에러내용 가져오기

by 빛과 어둠사이 2020. 2. 14.
728x90
반응형
SMALL

오늘은 SQL SERVER에서의

에러코드로 에러내용을 가져오는

방법 정리해 보고자 합니다.


물론, SSMS나 토드 등

여러가지 DB 툴에서 돌리면

에러가 왜 났는지

나오기는 합니다.



하지만, 함수나 프로시저 등을 만들 때

에러가 나면 에러내용을

별도로 저장하거나 할 때 

사용할 수 있을 것 같습니다.


물론, 제가 예로 들은 이 때 외에도

다른 때에도 필요에 따라서 사용을 할 수도

있을 것 같습니다.




우선, 에러코드를 확인하기 위해

강제로 에러 나는 쿼리를

하나 만들어 보았습니다.

select * from test_member
where id = 111

위처럼 쿼리를 작성하였습니다.


id컬럼은 varchar 형식인데

int형으로 비교를 하니

당연히 에러가 나는 것입니다.


위처럼 작성된 쿼리를

실행하면

결과는 아래처럼 나옵니다.

 


위처럼 에러가 나오는 것을 확인할 수 있습니다.

에러코드느 245로 해서

에러가 나는 것을

확인할 수 있습니다.





그러면 이제 에러코드를 가지고

에러 내용을 확인하는

쿼리를 보도록 하겠습니다.


사용방법은 다음과 같습니다.

SELECT Text
 FROM  sys.messages
 WHERE  language_id  = 1042
 AND   message_id  = 에러코드

위처럼 해주시면 되십니다.


language_id는 무슨 값인지

잘 모르겠습니다.

그리고 message_id는 에러코드를 입력해 주시면 되십니다.



이제 실제 사용 예제를 보도록 하겠습니다.

SELECT Text
 FROM  sys.messages
 WHERE  language_id  = 1042
 AND   message_id  = 245

위처럼 쿼리를 작성하였습니다.

위에서 발생했던

ERROR CODE를 가지고

쿼리를 돌리는 것입니다.



실행을 하면 결과는 아래처럼 나옵니다.



위처럼 데이터 형식이

맞지 않아서 발생된 걸로

에러 내용을 확인할 수 있습니다.



그러면 저 TEXT값을 가지고

별도 로그로 남기거나,

사용을 할 수도 있을 것입니다.




오늘은 MSSQL에서의 

ERROR CODE로 에러내용을

확인하는 방법을

알아보았습니다.



제 생각에는

많이 사용을 하지는 않을 것 같기는 합니다.

하지만, 그래도 알고 있으면

필요할 때 사용할 수 있을 것 같습니다.




이상으로 SQL SERVER에서의

ERROR CODE로 ERROR 내용

확인하기였습니다~


728x90
반응형
LIST