SharedIT | 묻고 답하기(AMP)

MS SQL 특정계정의 실행내역 조회 방법이 있을까요?

안녕하십니까?


MSSQL 특정 계정의 쿼리 실행 내역을 조회할 수 있을까요?


예를 들어 "dev01" 계정의 1개월(또는 1년)간의 insert, update, delete 쿼리 수행 목록과 쿼리 내용을 조회


fn_dblog()를 사용하여 트랜잭션 로그에서 목록은 추출 가능하였지만,  내용은 조회하지 못하네요


자문을 요청드립니다.



Tags : 태그가 없습니다.

6개의 답변이 있습니다.

deerokgo
  0 추천 | 약 일 년 전

sys.dm_exec_query_stats 테이블을 활용 하시면 가능 합니다.


아래 예시 활용해보시기 바랍니다.


SELECT Db_name(st.dbid) DBName,

  Object_schema_name(objectid, st.dbid) SchemaName,

  Object_name(objectid, st.dbid) SPName,

  qs.total_elapsed_time,

  creation_time,

  last_execution_time,

  text

FROM sys.dm_exec_query_stats qs

CROSS apply sys.Dm_exec_sql_text(qs.plan_handle)st

JOIN sys.dm_exec_cached_plans cp

ON qs.plan_handle = cp.plan_handle

차바라기
  0 추천 | 약 일 년 전

감사기능으로 확인이 가능한데 회원님들이 답글을 잘 주셨네요~

jjpapa | 약 일 년 전

회원님들이 답글을 잘 주셔서 감사하지요

저는 인프라 담당이라서 DB는 잘 모릅니다. 개발팀 고민 사항을 이 곳에 한번 여쭤보게 된 겁니다. 저도 도움이 될 수 있으면 좋겠네요

wansoo
  0 추천 | 약 일 년 전

감사 로그 설정으로 조회해 보거나...

감사 로그로 얻기 어려운 내용이라면 DB 접근 제어와 같은 솔루션을 이용해야 하지 않을까 싶어 보이네요.

jjpapa | 약 일 년 전

검토중이지만, 사용자들이 원하는 방향이 아니라서요 ^^

실제 업무에서 사용자들의 소소한 DB갱신을 처리하는 부분이 믾다보니

접근제어툴을 이용하면 이러한 실무적인 처리가 힘들어질 것을 우려하고 있습니다.

의견 감사합니다.

명동쓰레빠
  0 추천 | 약 일 년 전

덕분에 저도 하나 배우고 갑니다.

Simon.Park
  0 추천 | 약 일 년 전

아래 링크 글을 보면 mssql audit (감사설정) 기능에 대해서 자세히 나와 있습니다.

audit 기능을 설정하는 것은 얼마든지 가능한데,

그만큼 audit 에 대한 log 가 많이 쌓이는 만큼 필요할때만 사용하거나,

데이터 저장 공간의 관리를 좀 더 운영자가 신경써서 해 주셔야 합니다. 

Database 는 상당히 많은 변경이 발생하기 때문에 짧은 기간에도 

많은 데이터가 쌓이는게 보통이거든요....


https://m.blog.naver.com/lama20/222003553861



jjpapa | 약 일 년 전

상세한 정보 공유 감사합니다. 꼭 참고하도록 하겠습니다.

늘푸른자스민 | 12달 전

정보 감사합니다~

116sig
  0 추천 | 약 일 년 전

MSSQL 에  감사로그 설정 기능이 있습니다. 

Create server audit   과 Create database audit specfication  감사 사양을 설정하신뒤,

DDL , DML 등의 로그 저장이 가능 합니다.  

다만, 로그를 자체 스토리지에 저장 하게 되므로, 저장공간 설정을 잘 하는것도 중요하며,

필터 설정을 잘해서, 불필요한 로그가 쌓이지 않게 세팅하는것도 중요합니다. 

안그러면 로그가 어마어마하게 쌓이고... 로그파일 용량도 금방 꽉 차게 됩니다.

그리고 MSSQL 버전마다  사용자를 식별하는 필드값이 차이가 있습니다.  

최소한 MSSQL 2019 이상의 버전을 사용해야  질문하신분의 요구에 맞는 내용으로 로깅이 가능할겁니다. 그 이하 버전에서는 사용자를 식별하기가 좀 어렵더라구요..


아마 내부회계 관리 때문에 준비하시는것으로 생각이 드는데.... 잘 활용하면

DB접근제어 시스템구축 비용 절감을 할수도 있겠습니다.


jjpapa | 약 일 년 전

상세한 답변 감사합니다.

말씀대로 회계감사와 관련해서 많이 귀찮은 일이 생기네요


우선 MSSQL 업그레이드가 선행되어야 할 것 같습니다.

다시한번 감사드립니다.

낭만생선 | 약 일 년 전

감사 때문이라면.. 결과적으로 접근제어 시스템을 적용해야 할 가능성이 높습니다. ㅜㅜ