안녕하세요
CREATE PROC aaa
@a varchar(1),
@b varchar(1)
exec aaa '1','2'
이렇게 호출하잖아요
그런데 aaa라는 프로시저에서
해당 파라미터와 값을 한번에 가져올 수 있는 방법이 있을까요?
즉 aaa프로시저에서
PRINT(@a) 이렇게 하면 당연히 값이 나올텐데요
그런게 아니라
어떠한 방법에 의해서 프로시저내에서
해당 파라미터와 값을 한번에 알수 잇는 방법을 찾고 있습니다
감사합니다.
Comment 1
-
지영아빠
2022.12.29 09:54
크게 두가지가 있습니다. (프로시져 안에서 하는 건 아니구요..)
1. query plan의 개체에서 분석하는 방법
2. extend event를 이용하는 방법
CREATE EVENT SESSION capture_value
ON SERVER
ADD EVENT sqlserver.sp_statement_completed (WHERE (sqlserver.database_name = N'<youly_database>'))
ADD TARGET package0.event_file (SET filename = N'<path>\caputer_value.xel')
WITH (TRACK_CAUSALITY = ON);
GO
-- 생성 개체 확인
select * from sys.dm_xe_sessions where name = 'capture_value'
-- 시작
alter event session capture_value on server state = start
go
/*
-- 종료
alter event session capture_value on server state = stop
go
*/
서버개체 ui에서
관리 -> 확장 이벤트 -> 세션 -> capture_value -> live data 감시