비슷한 크기와 동일한 스키마의 데이터베이스가 있습니다. 모두 동일한 설정을 가지며 동일한 인스턴스에 배치됩니다. 모든 사람들이 응용 프로그램을 사용하여 데이터베이스에 액세스하고 쿼리합니다. 응용 프로그램 내에서 모든 연결 문자열은 모든 데이터베이스에 대해 동일합니다 (로그인 및 암호 제외). 많은 사용자가 우리 데이터베이스 중 하나에 로그인하고 쿼리 할 때 상당히 느려지지만 다른 데이터베이스는 그렇지 않습니다.
문제 : 데이터베이스의
하나 점진적으로 접근 느린 속도가 느린되었다. 쿼리 실행 시간에도 영향을 미치지 만 사용자가 로그인하는 데 걸리는 시간만큼 중요하지는 않습니다. 이제 로그인하는 데 약 50 초가 걸립니다. 다른 모든 데이터베이스의 경우 로그인 시간은 약 4-5 초입니다.
질문 :
내가 문제가있는 데이터베이스에 세션에서 로그 - 더에 "건강한 데이터베이스"정상 로그인의 세션을 비교하고 싶습니다. 로그인 세션에서 정확히 무슨 일이 일어나는지 모니터링하는 방법을 제안 해주십시오. 특정 데이터베이스에 대해 실행되는 쿼리를 추적하는 방법을 알고 있지만 느린 로깅을 만드는 것이 무엇인지 찾아야할지 모르겠습니다. 프로파일 러나 확장 된 이벤트가 그러한 정보를 표시합니까? 사용자가 로그인하기를 기다리는 동안 발생하는 상황을 분석 할 수있는 다른 방법이 있습니까?
오스카 감사합니다. 응용 프로그램을 통해 실행되는 각 쿼리의 실행 시간이 표시됩니까? – QWE
@QWE 예, 둘 다 시작 시간과 종료 시간 – Oscar
_events_ 및 _column__을 (를) 추적하여 유용 할만한 이름으로 @Oscar를 추천 할 수 있습니까? 예를 들어'Duration','StartTime' 및'EndTime' 컬럼이 체크 된'SQL : BatchCompleted'와'SQL : StmtCompleted' 이벤트가 있습니다. –