XEvents에서 파일 관리

더따뜻한 2015.05.27 15:28 Views : 2999

안녕하세요. 


XEVENTS에 대해서 하나하나 공부해가고 있는 1인입니다. 

특정 PC에서 실행하는 쿼리 기록을 남기기 위해서 XEvents를 활용하고 있습니다. 

얼마전에 서버가 엄청 느려져서 살펴보니 XEVENTS로 쌓인 로그를 가지고 오는데 있어서 문제가 생겼었습니다. 


INSERT INTO [dbo].[DB_Audit_History] ( 

                           (생략) 

                  ) 

SELECT ( 생략) 

  FROM  (

                 SELECT CONVERT (XML, event_data) AS data 

                   FROM sys.fn_xe_file_target_read_file

                       ('D:\XEVENTS_LOG\DB_Audit_History*.xel', 'D:\XEVENTS_LOG\DB_Audit_History*.xem', null, null)

               ) entries

 inner join sys.dm_exec_connections c on ( c.session_id = data.value ('(/event/action[@name=''session_id'']/value)[1]', 'varchar(10)') ) 

 WHERE data.value ('(/event[@name=''sql_statement_completed'']/@timestamp)[1]', 'DATETIME') BETWEEN @START_DT AND @END_DT 

      

이렇게 .xel, xem 파일로 쌓인 로그를 필터링 해서 테이블에 쌓게해놨는데요. 


DB_Audit_History*.xel  요 파일들이 많아지고 크기가 커지면 많이 느려지는거 같더라구요. 

질문 1 ) 그래서 이런 파일 관리는 어떻게 하면 좋을지 궁금해서 글을 올립니다. 


xevent는 아래와같이 생성이 되었어요. 

CREATE EVENT SESSION RealDB_Audit_History ON SERVER

ADD EVENT sqlserver.sql_statement_completed

   (ACTION (  SQLSERVER.TSQL_STACK

   (생략) 

            , SQLSERVER.session_id 

           )

      WHERE (SQLSERVER.CLIENT_HOSTNAME =  '특정pc1'  

              or SQLSERVER.CLIENT_HOSTNAME =  '특정pc2') )

        AND SQLSERVER.CLIENT_APP_NAME = 'Microsoft SQL Server Management Studio - 쿼리' 

)   

ADD TARGET package0.asynchronous_file_target

   (SET FILENAME = N'D:\XEVENTS_LOG\DB_Audit_History.xel'                 (1) 

  , METADATAFILE = N'D:\XEVENTS_LOG\DB_Audit_History.xem'


  , MAX_FILE_SIZE = 5

  , MAX_ROLLOVER_FILES = 3

) 

WITH (  

        max_dispatch_latency = 1 seconds

     );

GO


아이구 질문이 장황하죠~ 


질문2. SET FILENAME = N'D:\XEVENTS_LOG\DB_Audit_History.xel'  요 부분에서 파일이름을 다이나믹하게 만들수는 없나여?

    예를들어 매일 D:\XEVENTS_LOG\DB_Audit_History20150527.xel  이런식으로 파일이 하루하루 이름이 바뀌어서 생성되는거죠. 

    ==> 혹시 이런식으로 하면 데이터를 불러올 때 별 문제가 없을거 같아서요. 

            시도해봤는데 잘 안되더라구요. 



저는 sql server2008을 운영하고, XEVENT에 대해서 초 입문자라.. ^^ 

질문도 장황하게 올렸네요. 혹시 답변이나 지혜를 공유해주실 수 있는 분은 답글 부탁드려요~ 


그럼 이만 총춍!~  



No. Subject Author Date Views
Notice SQL강좌: 챗GPT와 함께 배우는 SQL Server 무료 강좌 목차와 소개 (2023년 9월 업데이트) 코난(김대우) 2023.08.18 19926
Notice Python 무료 강좌 - 기초, 중급, 머신러닝(2023년 6월 업데이트) 코난(김대우) 2021.01.01 12111
» XEvents에서 파일 관리 [2] 더따뜻한 2015.05.27 2999
8737 SQL Server -> mongodb로 데이터 마이그레이션 [1] 메칸더 2015.05.27 5000
8736 쿼리 질문드립니다 [3] Sinlay 2015.05.26 2774
8735 Join VS 하위쿼리 [1] Sinlay 2015.05.26 2476
8734 많은양의 데이타 삭제시 질문 [3] hhhh 2015.05.24 2882
8733 프로시저 실행시 where 작은따옴표를 어떻게 처리 해야할지 고민입니다 도와주세요 [3] 이상준_300283 2015.05.24 4774
8732 MSSQL 책하나 추천 부탁드립니다. [1] Sinlay 2015.05.22 2651
8731 한컬럼에서 반복적인 중복 값제거하기 아시는분 [1] 곰요 2015.05.22 2581
8730 엑세스와 SQL서버 연결 문제 [2] 살신성곰 2015.05.22 3342
8729 커서 쿼리 문의 입니다. [2] 카르페디엠 2015.05.21 2568
8728 홈페이지 서버 관련 문의 (DB 관련 문의) [1] 아우렐리오 2015.05.21 4832
8727 중복구간 삭제 쿼리 질문드립니다 [2] saysay218 2015.05.20 3958
8726 mssql lock 에 대해서 궁금한게 있어서요.. [4] 죄민수 2015.05.19 2739
8725 프로시저의 주석이 다 사라졌습니다. 흑흑 2015.05.19 2231
8724 MS-SQL 2012버전에서 임시테이블 관련 문의입니다.. [3] 비와바람 2015.05.19 2581
8723 디비 용량 확보 관련 [1] hhhh 2015.05.18 2427
8722 rollup 질문입니다. [3] 카르페디엠 2015.05.18 2410
8721 MSSQL 2000 to MSSQL 2014 마이그레이션 방법 문의 드립니다. [1] 꼬부랑 2015.05.15 5136
8720 사용자의 쿼리 추적하기 [2] Larry 2015.05.14 3054
8719 sp_executesql에서 ROW_NUMBER() ORDER BY절 설정이 안먹습니다. 돌브레인 2015.05.14 2791





XE Login