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

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

프로시저 실행 및 오류 로그

HoyaSoft 2018.08.10 10:45 Views : 715

안녕하세요 

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


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


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
10330 sql 질의문 문제 질문 sql러 2018.10.10 794
10329 지수형을 int형으로 변환하는 방 yoni 2018.10.09 615
10328 spid 와 spid의 ip에 관하여 freighter 2018.10.08 589
10327 MSSQL 데이터 일일 데이터 검색 후 순차적 삭제 쿼리 질의 드립니다. [3] 암무거나 2018.10.08 943
10326 쿼리의 Logical Read가 심하게 발생합니다 [1] freighter 2018.10.05 736
10325 쿼리에 대해 질문이 있습니다. [1] 쿼리잘짜고싶다 2018.10.05 632
10324 인덱스 또 질문이 있습니다. [2] 카루카루 2018.10.04 581
10323 테이블 데이터 삭제 時 빈공간 확인 방법? [2] detectol 2018.10.04 768
10322 인덱스 생성 질문입니다. [4] 카루카루 2018.10.02 723
10321 한테이블에 두 컬럼을 비교해서 출력하는 쿼리 질문좀 부탁드려요 ㅠㅠ [1] 쿠린이 2018.09.29 730
10320 SQL "," 구분자로 되어 있는 컬럼 특정 데이터 COUNT 질문 드립니다. [1] 고SQL 2018.09.28 786
10319 MS SQL 데이터베이스 복구 실패 문의 아레나도 2018.09.18 771
10318 SQL 2000 -> SQL 2008 로 DB 이전시 문의드립니다. [1] 주도 2018.09.15 976
10317 대용량 테이블 삭제에 대하여 [10] freighter 2018.09.14 2388
10316 AD서버와 시간동기화 관련 질문드립니다. wesh30 2018.09.11 782
10315 프로시저의 파라메터 타입을 (일괄) 변경할수 있을까요? 착한넘 2018.09.11 768
10314 Agent 스케쥴 질문 입니다. l1j2e3 2018.09.10 868
10313 checkdb를 했을 경우 하나의 일관성 오류가 발생합니다. 유노 2018.09.07 913
10312 오라클에서 OUT 있는 프로시저 출력하는 방법? 단비령 2018.09.04 833
10311 사용자 함수에 with recompile 는 없네요ㅠ.. 대체가 없나요? 봉술의달인 2018.09.04 647





XE Login