프로시저 실행 및 오류 로그

HoyaSoft 2018.08.10 10:45 Views : 772

안녕하세요 

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


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


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
Notice [IT재직자] 개강임박!! 올해 마지막 무료 및 국비지원 교육 (JAVA, 리눅스 기초/고급 , CCNA, CCIE 등) 코난(김대우) 2022.12.02 87
Notice 2022년 11월 SQLER의 강좌 업데이트 리스트 코난(김대우) 2022.12.01 23
Notice 2022 공개SW 페스티벌 - Open Up 코난(김대우) 2022.12.01 15
» 프로시저 실행 및 오류 로그 [1] HoyaSoft 2018.08.10 772
10292 가장최근의 쪽지내용을 표시하고싶습니다 [2] 문상연 2018.08.09 659
10291 쿼리 문의입니다. [1] 얼음왕자 2018.08.07 665
10290 멀티 검색관련 [1] 냥냥 2018.08.04 603
10289 랭킹 프로시저 수정이 필요합니다 도와주세요. 배쉥 2018.08.01 709
10288 쿼리문 질문 합니다 PIVOT 관련 백마탄나 2018.07.31 761
10287 Temp DB 생성 [3] 2년째걸음마 2018.07.31 880
10286 Sql 서버생성 및 복사여부 2년째걸음마 2018.07.31 590
10285 기존서버 sqlserver2000 에 2008 설치 방법 부탁 드립니다 [1] 슈토파이터 2018.07.30 669
10284 데이타베이스 접속시 에러질문입니다. 희망나라 2018.07.28 711
10283 거래일자별 직전3일 거래금액합 도와주세요 엘레강스리 2018.07.24 677
10282 float 값 int 형으로 변환 시, 값이 변합니다. [1] Tuban 2018.07.24 1065
10281 집계결과의 행과 열을 바꾸고 싶습니다. [1] LJstyleS 2018.07.20 781
10280 SQL Server 2012 데이터베이스 설치 위치와 관련하여 질문 있습니다. [1] coolpeace 2018.07.19 769
10279 Developer 에디션을 사용하다가.. 봉술의달인 2018.07.18 635
10278 JOB History의 기간이 음수로 표시되는 문제 [3] HolyGrail 2018.07.17 923
10277 입문하는 학생입니다. 네트워크 구성에 아무것도 뜨지않네요ㅠㅠ fircco 2018.07.16 671
10276 랜카드 여러개일때 Database 설정 [1] 빵코아빠 2018.07.13 990
10275 SQL 버전업 관련 문제 [1] 뛰어 2018.07.12 797
10274 반목문 관련하여 도움 부탁 드리겠습니다. [3] 오라클ㄹ 2018.07.12 884





XE Login

테스트 팝업
Close