2011-04-20 3 views
1

내 응용 프로그램에서 실행 한 모든 쿼리와 함께 모든 종류의 로그/테이블을 저장하려고합니다.WCF Services를 통해 SQL Server 2008 쿼리를 감사하는 방법은 무엇입니까?

나는

. 내가 어떤 질문을하기 전에, 나는 쿼리를 실행하는 사용자와 로그 테이블에 새로운 행을 삽입합니다 (코딩하여이 작업을 수행 할 수있는 알고 나는 할 수있다 읽고 자동으로 수행되지만 WCF Services와 함께 작동하는 방법을 잘 모르겠습니다. 모든 SQL 쿼리가 동일한 SQL 사용자에 의해 실행되며 이는 감사 작업에 유용하지 않습니다. (모든 쿼리를 작성한 WHO가 알아야합니다. , 사용자는) 내 자신의 사용자 테이블에 대해 확인됩니다.

혹시 유사한 시나리오를 경험이 있나요? 사전에 감사! A와

답변

0

출발점은 SQL Server Profiler을 통해 조사 할 가치가 있습니다. 일반적으로 Management Studio의 도구 메뉴에서 찾을 수 있습니다.

서버에서 실행되는 모든 SQL을 캡처하도록 추적을 설정할 수 있습니다. 더 중요한 것은 관심있는 데이터 (예 : DatabaseName, UserName) 만 캡처 할 수 있도록 적용 할 수있는 수많은 필터 옵션이 있다는 것입니다.

이 정보는 SQL 테이블에 직접 저장할 수 있습니다.이 테이블은 조인 할 수있는 능력을 제공합니다. 물론 이와 같은 것을 실행하면 SQL 상자에 약간의 오버 헤드가 발생할 것입니다.

0

SQL Server Audit 기능을 사용해 볼 수 있습니다. 서버 및 데이터베이스 수준에서 단일 이벤트 또는 이벤트 그룹을 감사합니다. 그러나 데이터베이스 수준 감사는 SQL Server Enterprise 및 Developer Edition에서만 사용할 수 있습니다.