sp_readerrorlog 해서 내용을 보면 다른 내용도 없이
Arithmetic overflow occurred. 이 메세지가 계속 올라옵니다.
어떤 부분을 추가적으로 살펴봐야 원인을 알 수 있을까요???
Comment 4
-
정선
2013.04.02 21:28
-
abc
2013.04.03 16:12
답글 감사합니다.
3606 번 오류입니다. 동일한 쿼리에서도 발생했다 안했다 하는것같아서 서버쪽 문제가 아닐까 싶습니다.
ldf 파일이 꽉찬후에 서버가 죽었다 살아났는데, 그 후로 발생하고 있는것같습니다.
sql 2005라서 확장이벤트 기능을 사용할 수 없겠네요.. 새벽에 서버를 재부팅해보려고합니다.T.T
-
블랙조
2013.04.03 09:12
저장 프로시저나 쿼리내 특정 자료형 타입이 가질 수 있는 최대 수보다 더 큰 수를 할당하는 부분이 존재하는 것 같습니다.
더 큰 수를 커버할 수 있는 자료형 타입으로 바꾸거나, 또는 확장이벤트를 사용하시어 쿼리를 추출해보세요.
ex) int -> bigint
-
abc
2013.04.03 16:14
답글 감사합니다.
정확한 테스트가 어려운데, 프로그램 사용자들한테 신고 들어오는 걸 보면
동일한 쿼리에서도 발생했다 안했다 하는 상태같습니다.
연산 오류가 발생하나 보군요. 혹시 8115번 오류인가요?
이건 정확한 건 아닌데요, SQL Server Profiler에서 "Exception" 이벤트를 잡으면 오류와 관련된 좀 더 다양한 정보를 얻어낼 수 있습니다.
그리고 쿼리까지 알아내려면...확장이벤트(Extended Event) 기능을 활용하면 좋을텐데요...
SQL Server 2008 이상이면 됩니다. 글로 사용 설명을 드리기엔 어려움이 있네요.
"확장이벤트" 로 검색해 보면 다양한 자료들 찾을 수 있어요, 관련된 서적보셔도 좋구요.
특히 오류 캡처하고 쿼리를 확인하는건 아래 자료도 괜찮네요. 영문 자료이긴하지만^^
http://sqlblog.com/blogs/extended_events/archive/2010/04/14/introduction-to-extended-events.aspx
좀 더 쉬운 방법이 있을지 딱 떠오르지 않네요. 다른 분의 도움말이 또 있기를...
도움이 되면 좋겠습니다 :)