0

SQL Server 2008 Express SP2 데이터베이스에 약 200ms마다 실행되는 큰 저장 프로 시저가 있습니다. 정상적인 실행 시간은 약 50ms입니다. 내가 본 것은이 실행 시간에 커다란 불일치입니다. 예기되는 40-60ms에서 50-100 번 실행되고, 무작위로 동일한 저장 프로 시저가 길게 걸릴 것입니다 (예 : 900ms 또는 1.5 초 실행). 때로는 동일한 프로 시저를 한 번 이상 호출하는 데 더 오래 걸리는 경우가 있습니다.SQL Server Express 2008 저장 프로 시저 실행 시간이 갑자기 증가합니다.

SQL Server가 매분마다 속도가 느려지는 것으로 보입니다. 그러나 나는 무엇을 알아 내지 못합니다. 발생 간에는 타이밍 패턴이 없습니다.

다른 컴퓨터에서 동일한 설정을 사용합니다. 그 중 하나는 바이러스 검사가없는 깨끗한 XP Pro로드이고 SQL 서버를 제외하고는 설치되지 않은 컴퓨터입니다.

또한 모든 데이터베이스의 복구 옵션은 "단순"으로 설정됩니다.

+1

SP는 어떤 기능을합니까? 많은 읽기 또는 쓰기 또는 둘 다? – spender

+0

그리고 이것이 서버를 강타하는 유일한 방법입니까? 해당 테이블을 읽는 다른 쿼리 집합이 실행되는 동안 SP가 행을 테이블에 삽입하는 경우 단순히 다른 프로세스로 인해 잠금 경합으로 실행될 수 있습니다. 많은 삽입 작업을 수행 중이면 일부 프로세스 일종의 페이지 할당 프로세스. –

+0

은 SQL 2008의 Data Collector를 시작하는 것이 좋습니다. http://msdn.microsoft.com/en-us/library/bb677248.aspx –

답변

0

해당 섹션을 자체 스토어드 프로 시저로 분리하는 것이 좋습니다. 일괄 처리 당 캐시 된 쿼리 계획은 하나뿐입니다.

0

내 문제가 SQL Server 계획 캐시 개체 카운트 999 발생 및 다시 설정과 동시에 발생하는 것처럼 보입니다.

+0

이라는 유일한 저장된 proc이어야합니다. 이것은 그 시점에서 proc 자체가 다시 컴파일되고 있음을 의미합니다. – NotMe