[c#] SQL Server 프로파일 러의 “감사 로그 아웃”이란 무엇입니까?
데이터 가져 오기 (C # / Linq 사용)를 실행 중이며 당연히 가능한 한 많이 쿼리를 최적화하려고합니다. 이를 위해 내 SQL 로그인 이름 (데이터 가져 오기 프로세스에 고유 할 수있는 이름)으로 필터링 된 내 트레이스를 사용하여 SQL Server 프로파일 러를 사용하여 DB에서 트레이스를 실행하고 있습니다.
이상하게도 대부분의 SQL 문은 정말 빠릅니다. 🙂 1ms 표시를 초과하는 쿼리도 거의 없습니다. 그러나 모든 쿼리 사이에는 EventClass가 “Audit Login”또는 “Audit Logout”인 여러 행이 있으며 “Audit Logout”의 기간은 최대 1 분입니다!
가져 오기에서 트랜잭션을 사용하고 있다는 사실과 관련이 있습니까? 그렇다면 정리할 수 있도록 가장 중요한 쿼리를 찾을 수있는 방법이 있습니까?
답변
정확하다고 기억한다면 감사 로그 아웃 기간은 연결이 열린 시간입니다. 예를 들어 명령의 속도와 관련이 없습니다. 로그인이 ‘로그인’된 시간입니다.
답변
로그인 / 로그 아웃 이벤트는 설정 / 해체와 관련이 있습니다. IIRC 시간은 다른 로그 이벤트와 마찬가지로 처리 기간이 아니라 ‘시간 동안 로그인되었습니다’입니다.
일반적으로 연결 풀 관리 등에 문제가 있다고 의심되지 않는 한 이러한 이벤트를 숨 깁니다.
배치의 원시 시간은 트랜잭션 등의 영향을 포함하여 실제 활동에 걸리는 시간을 진단하기에 충분해야합니다.
답변
감사 로그 아웃 이벤트 클래스는 사용자가 Microsoft SQL Server에서 로그 아웃 (로그 오프)했음을 나타냅니다. 이 클래스의 이벤트는 새 연결 또는 연결 풀에서 재사용되는 연결에 의해 시작됩니다.
유휴 시간을 포함하여 연결이 로그인 된 총 시간이므로 성능 문제를 나타내지 않습니다. 또한 프로파일 링 로그인 / 로그 아웃은 성능 문제를 일으킬 가능성이 거의 없습니다. 성능이 낮은 쿼리, 아마도 오래 실행되는 쿼리를 찾는 것이 좋습니다.
자세한 내용은 https://msdn.microsoft.com/en-us/library/ms175827.aspx를 제안합니다. 🙂