XEvents에서 파일 관리

더따뜻한 2015.05.27 15:28 Views : 3004

안녕하세요. 


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 32009
Notice Python 무료 강좌 - 기초, 중급, 머신러닝(2023년 6월 업데이트) 코난(김대우) 2021.01.01 16339
8742 물리적 1대의 서버의 버전이 다른 2000 과 2008 두개 설치및운영이 가능한가요? [1] 김영환_281520 2015.05.28 3164
8741 ISNULL 의 check expression 파라메터 [1] 델리 2015.05.28 2537
8740 db server 2008 database를 local로 가져올때 [2] 수송대원 2015.05.28 2404
8739 반올림이 안되네요?? [1] 석준 2015.05.27 2344
» XEvents에서 파일 관리 [2] 더따뜻한 2015.05.27 3004
8737 SQL Server -> mongodb로 데이터 마이그레이션 [1] 메칸더 2015.05.27 5003
8736 쿼리 질문드립니다 [3] Sinlay 2015.05.26 2777
8735 Join VS 하위쿼리 [1] Sinlay 2015.05.26 2479
8734 많은양의 데이타 삭제시 질문 [3] hhhh 2015.05.24 2888
8733 프로시저 실행시 where 작은따옴표를 어떻게 처리 해야할지 고민입니다 도와주세요 [3] 이상준_300283 2015.05.24 4786
8732 MSSQL 책하나 추천 부탁드립니다. [1] Sinlay 2015.05.22 2656
8731 한컬럼에서 반복적인 중복 값제거하기 아시는분 [1] 곰요 2015.05.22 2587
8730 엑세스와 SQL서버 연결 문제 [2] 살신성곰 2015.05.22 3346
8729 커서 쿼리 문의 입니다. [2] 카르페디엠 2015.05.21 2569
8728 홈페이지 서버 관련 문의 (DB 관련 문의) [1] 아우렐리오 2015.05.21 4836
8727 중복구간 삭제 쿼리 질문드립니다 [2] saysay218 2015.05.20 3966
8726 mssql lock 에 대해서 궁금한게 있어서요.. [4] 죄민수 2015.05.19 2743
8725 프로시저의 주석이 다 사라졌습니다. 흑흑 2015.05.19 2234
8724 MS-SQL 2012버전에서 임시테이블 관련 문의입니다.. [3] 비와바람 2015.05.19 2583
8723 디비 용량 확보 관련 [1] hhhh 2015.05.18 2428





XE Login