2009-12-07 2 views
3

.Net 어셈블리에서 모든 데이터베이스 호출을 인터셉트하거나 로그하는 방법이 있습니까? 기본 목적은 생성 된 모든 TSQL 문을 기록하고 모든 busins ​​논리 계층 어셈블리에서 SQL Server 데이터베이스로 보내는 것입니다. 이 메커니즘은 글로벌 수준에서 사용할 수 있어야하며 각 어셈블리에 적용 할 필요는 없습니다. 이 메커니즘은 SQL 문을 생성 한 스택 추적을 제공해야한다는 점에서 SQL 프로파일 러와 달라야합니다..Net 어셈블리에서 SQL Server에 대한 모든 데이터베이스 호출을 인터셉트/로그하십시오.

이러한 메커니즘의 목적은 응용 프로그램에서 생성 된 모든 SQL 구문을 기록하고 일부 분석을 적용하는 것입니다. 이 질문은 ADO.net 기술에 관한 것입니다.

+0

ADO.NET 자체에서 빌드 할 수있는 기본적인 메커니즘처럼 보이지만 여전히 찾을 수는 없습니다. 글쎄, 간단한 응용 프로그램에 적절한 DAL/ORM 라이브러리를 사용하는 또 하나의 이유. –

답변

0

데이터베이스는 어떤 응용 프로그램이 쿼리를 작성하든 상관없이 모든 쿼리를 로깅 할 수 있습니다. 보세요 here.

+0

나는 데이터베이스 측을보고 있지 않다. 이 경우 스택 추적을 어떻게 기록합니까? .net 스택 추적과 함께 SQL 문을 기록하려고합니다. –

+0

이 권한을 설정하려면 적절한 권한이 필요합니다. 따라서 생산 시나리오에서는 불가능합니다. –

관련 문제