데이터베이스 개발자 질문과 답변 게시판

데이터베이스 개발/운영 관련 질문과 답변을 올리는 게시판입니다. 궁금하신 내용을 이곳에서 문의하시면 SQLER 분들의 답변을 받으실 수 있습니다. 문의를 하실때에는 최근 작업하신 특이 사항이나, 장애 발생 전 상황을 상세히 올려 주시면 답글을 적어주시는 SQLER분들의 답변이 더 정확할 수 있으니 도움 되시길 바랍니다. 쿼리 문의일 경우, 실제 문제가 재현되는 테이블생성, 샘플데이터 생성 쿼리를 함께 올려 주시면 더 빠르고 정확한 쿼리 문의 응답이 가능합니다.

프로시저 실행 및 오류 로그

HoyaSoft 2018.08.10 10:45 Views : 679

안녕하세요 

실행된 프로시저를 로그로 테이블에 쌓아서 관리하려고 합니다.


예를 들어 아래와 같이 프로시저를 실행을 하면,


exec dbo.USP_GET_TEST_DATA @PARAM1 = 'A', @PRAM2 = 'B' , @PRAM3 = 123


프로시저 내부에서 실행된 프로시저 와 파라메터 구문을 그대로 로그테이블에 입력하려고 합니다.

오류가 발생하였을때는 TRY CATCH 구문에서 ERROR로그를 로그테이블에 업데이트 하여 오류 로그도 함께 관리 합니다.


아래의 예처럼 SP_TEXT컬럼의 구문을 프로시저가 실행되는 내부에서 확인하는 방법이 있으면 알려주세요. ㅎㅎ

유사한 방법이라도 조언부탁드립니다. 

감사합니다.



SEQ 

SP_TEXT 

ERROR 

TIME 

 exec dbo.USP_GET_TEST_DATA @PARAM1 = 'A', @PRAM2 = 'B' , @PRAM3 = 123

 PRIMARY KEY 제약 조건 'PK_TI'을(를) 위반했습니다. 개체 'dbo.TI_TRD'에 중복 키를 삽입할 수 없습니다. 중복 키 값은 (123)입니다. 에러가 발생함

 2018-08-10 10:37:40.450

2

 exec dbo.USP_GET_TEST_DATA @PARAM1 = 'A', @PRAM2 = 'B' , @PRAM3 = 123

 NULL

 2018-08-10 10:38:40.450



개인적으로.. 시스템 테이블을 뒤져서 만들어 보려고 했는데

입력된 파라메터의 값을 입력하는 부분이 어렵네요.. 파라메터 데이터 타입도 다르고

이렇게 까지 안해도 방법이 있을것 같은데 ㅜㅜ

아래쿼리는 그냥 참고 부탁드립니다.


SELECT SP_TEXT = 'EXEC ' + OBJECTNAME + ' ' + SUBSTRING(PARAM, 0, LEN(PARAM))

FROM (

SELECT DISTINCT OBJECTNAME = SO.NAME

, PARAM = (

SELECT P.NAME + ' = '''', '

FROM SYS.PARAMETERS AS P 

WHERE SO.OBJECT_ID = P.OBJECT_ID

FOR XML PATH('')

)

FROM SYS.OBJECTS AS SO

WHERE OBJECT_ID = OBJECT_NAME(@@PROCID)  -- 프로시저 내부

--WHERE TYPE IN ('P')

) A

No. Subject Author Date Views
10312 오라클에서 OUT 있는 프로시저 출력하는 방법? 단비령 2018.09.04 825
10311 사용자 함수에 with recompile 는 없네요ㅠ.. 대체가 없나요? 봉술의달인 2018.09.04 643
10310 pl sql 공부 문의 [1] 후대 2018.09.03 840
10309 쿼리 질문드립니다. hsp-user 2018.09.02 697
10308 mssql의 Funcion에서 rand같은 내부 함수 사용불가인가요? [1] 슈리슈리 2018.08.31 1937
10307 네트워크의 파일엑세스하는 방법 좀... [3] 길주석 2018.08.30 1110
10306 exexpression을(를) 데이터 형식 varchar(으)로 변환하는 중 산술 오버플로 오류가 발생... [3] 플라이어 2018.08.28 1034
10305 한글 문자열에서 공백이 있으면 검색이 안돼요 담덕 2018.08.25 747
10304 IntelliSense 후알유? 2018.08.22 573
10303 sysrscols, syscolpars block lock이 왜 걸릴까요? nang86 2018.08.22 680
10302 SQL Server 2000 복구가 안되어 문의드립니다. 블랙21 2018.08.21 746
10301 data 가공에 대해 질문드립니다.. nozae 2018.08.21 673
10300 [긴급]update 쿼리문 질문입니다 [1] 바자다가사 2018.08.21 800
10299 DB를 close하지 않고 계속 써도될까요? [2] 딧물 2018.08.16 803
10298 유지관리계획 스케쥴 오류 문의 [1] 아틀레틱 2018.08.16 1212
10297 흔히 DB에서 말하는 분산처리가 무슨 의미인지 궁금합니다! sincie 2018.08.14 677
10296 입출금 내역 쿼리작성할 때 조인 질문 [3] 안돼요 2018.08.13 1175
10295 원화표시가 '\' 저장이안되요 문상연 2018.08.11 920
10294 재질문 - 최근 댓글 표현에 관해서...? [6] 문상연 2018.08.10 854
» 프로시저 실행 및 오류 로그 [1] HoyaSoft 2018.08.10 679





XE Login