아래의 쿼리와 같이 행을 반환하지 않는 쿼리는 서버 중 하나에서 0 ~ 160 초가 걸립니다.
select col1, col2, col3
from tab1
where 0 = 1
2 주 전에는 48 시간 간격으로 6 번 발생했습니다. 지난주에 같은 쿼리가 ~ 0 초 걸렸습니다. 응용 프로그램의 SQL 로그가 있지만 아직 용의자를 찾지 못했습니다. 게다가, 최상위 0 / where 0 = 1 유형 쿼리가 데이터 페이지에 절대로 도달하지 않는다고 생각했기 때문에 행 / 페이지 / 테이블 수준 데이터 잠금에 저항해야합니까? 스키마는 알려진 SQL에 의해 영향을받지 않습니다.
문제가 일관 적이 지 않고 서버의 부하가 너무 높기 때문에 SQL 프로파일 러를 연결하기 전에 발생하는 문제의 이론을 이해하고 싶습니다. 이러한 지연 동안 다른 쿼리는 문제없이 실행됩니다. 응용 프로그램의 알려진 문제는 동적으로 생성 된 많은 수의 SQL 쿼리입니다. 48 시간 동안 총 850k (로그 된) 쿼리의 약 200k 고유 쿼리가 이런 문제를 일으킬 수 있습니까?
서버는 SQL Server 2005 표준판, 96GB RAM, SAN 디스크 및 4 개의 CPU / 16 코어를 실행하고 있습니다. 데이터베이스 파일과 파일 그룹은 최적화되어 있으며 문제가되지 않습니다 (그러나 우리는 이것을 별도로 조사하고 있습니다).
어디를보아야하는지에 대한 조언은 대단히 감사합니다.
편집 : 완벽! 실행 계획을 추가하기 위해 쿼리를 재생했으며 1 분 35 초가 걸렸습니다. 쿼리 기간을 보여주는 실행 계획과 스크린 샷은 다음과 같습니다.

편집 2 : 두 번째 실행에 대한 통계 시간 세부 사항. 지금은 꾸준히 느려질 것이므로 프로파일 러와 perfmon을 연결할 것입니다.
SQL Server Execution Times:
CPU time = 0 ms, elapsed time = 97402 ms.
SQL Server parse and compile time:
CPU time = 0 ms, elapsed time = 0 ms.
