MSSQL에서 쿼리로 update나 insert할시 로그가 기록되나요??
위 질문 대로 mssql에서 쿼리문을 통해 데이터를 수정할시 로그가 기록되는지
혹시 쿼리 로그가 기록되면
어디서 확인할 수 있죠??
확인하는 방법도 알려주시면 감사하겠습니당!
네, 확인가능하구요
sql 2017일때의 로그 위치는
[개체 탐색기]를 선택하시면 여러가지 메뉴가 뜰겁니다
그중에 Extended Events 하위메뉴에 Sql ServerLog 부분이 있을텐데 거기서
VIEW 선택후 SQL Server LOG를 클릭하시면 로그파일뷰어가 나타나면서 해당 내용이 보여질것입니다
안녕하세요??
쿼리문을 통해 예제를 보여드릴게요^^
select
db_name(st.dbid) DBName --DB 이름
,qs.total_elapsed_time --총 경과시간
,creation_time --시작시간
,last_execution_time --마지막 실행시간
, text --sql 쿼리문
, cp.objtype --오브젝트 타입
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
where creation_time >= '2011-09-01 00:00:00' -- 2011-09-01 00:00:00 이후 생성된 쿼리
--and db_name(st.dbid) is not null and cp.objtype = 'proc' --조건: 종류
and text like '%delete%' --sql쿼리문에 delete가 포함되는 필드가 있다면 원하는 sql문이 안나올것이다. 주의
order by last_execution_time desc;여기서 cp 즉 dm_exec_cached_plans 의 objtype은
Proc 저장 프로시저Prepared 준비된 문
Adhoc 임시 쿼리1
ReplProc 복제 필터 프로시저
Trigger 트리거
view 뷰
Default 기본값
UsrTab 사용자 테이블
SysTab 시스템 테이블
Check CHECK 제약 조건
Rule 규칙
이렇게 종류별로 있고 원하는 쿼리문 조회시 적절하게 where절에 추가하면됩니다
만약 부족한 정보가 있다면 직접 msdn에서 확인 부탁드려요^^