2011-12-14 3 views
1

나는, 나에게 낮은 심각도의 오류를 높여 디버그 메시지를 인쇄 저장 프로 시저를 새로운 무언가를 참조하십시오로깅 방법으로 심각도가 낮은 오류 던집니까?

raiserror (@Message, 10 , 1) with nowait 

내 저장 프로 시저가 다음 배치 명령으로 시작되는 경우

SQLCMD.EXE -E -S%SqlServer% -d %DatabaseName% -b -Q "dbo.usp_Myproc" >> "%LogFile%" 

내가 이러한 "오류 메시지"가 파일에 기록되었다고 가정합니다. % LogFile %

이 경우입니까? T-SQL PRINT 문이 똑같을 것이라고 생각하지 않습니다.

이 방법이 합리적인 방법인가요/더 좋은 기록 방법은 무엇입니까?

+1

'with with nowait'의 장점은 버퍼가 가득 차기를 기다리는 대신 출력이 곧바로 전송되어 장기 실행 진행 상황을 추적하는 데 유용하다는 것입니다. 이것은 오류 메시지가 아닌 정보 메시지로 전송되므로 가정은 인쇄와 동일하게 처리됩니다. 이걸 시험 할 수 없니? –

답변

1

심각도가 낮은 raiserror 메시지는 로그 파일에 기록되지만 다시 PRINT 메시지가 기록됩니다. 그러므로 나는 왜 누군가가 오류가 아닌 정보 메시지를 작성하기 위해 심각도가 낮은 오류 메시지를 발생시키는 이유를 묻습니다. 내 의심은 그들이 PRINT 명령을 인식하지 못했거나, PRINT 명령을 사용하지 않거나, 목적에 부합하지 않는 한 상관하지 않는다는 것입니다.

+2

관리 스튜디오에서 레이서와 인쇄물을 모두 시험해보십시오. raiserror가 곧바로 나타나는 반면 출력물을보기 전에 인쇄가 지연 될 수 있습니다. –