프로덕션 환경에서이 문제가 있습니다.
Windows NT 6.1 (빌드 7601 : 서비스 팩 1)의 Microsoft SQL Server 2008 R2 (SP1)-10.50.2500.0 (X64)-Enterprise Edition (64 비트)
SQL Server는 이전 실행 계획을 모두 (거의 100 %) 삭제하고 매일 밤 11 시부 터 오전 8 시까 지 매일 다시 만듭니다. 이것은 '자동 업데이트 통계'가 비활성화 상태 일 때도 발생했습니다. 지난 2-3 주 동안 '자동 업데이트 통계'를 사용 설정했습니다. 그러나 여전히 일어나고 있습니다.
우리는이 계획의 재생성을 유발하는 요소를 실제로 알지 못하지만 수동으로하지는 않을 것입니다.
실제로 재생성 계획의 타이밍과 일치하는 유일한 것은 DB 유지 관리 작업입니다. 일일 인덱스 재구성 (분할이 5-30 % 인 경우) 및 일일 인덱스 재구성 (분할이 30 % 이상인 경우) ) 직업. 일반적으로이 일일 유지 보수 작업은 재구성 만 수행합니다 (인덱스 조각화는 매일 30 %를 넘지 않기 때문에).
타격:
새로 생성 된 계획은 일부 UDF 호출 / 쿼리 호출 (UI / 웹 페이지에서 호출)을 더 오래 (1 초 미만이 아닌 몇 분) 더 오래 걸리게하므로 CPU를 90 % 가까이 가져 가서 세션이 쌓입니다. .
문제가 발생한 세션이 DB 측에서 강제로 삭제되는 순간 (1), 해당하는 모든 실행 계획이 수동으로 (쿼리의 경우) 또는 2) UDF가 변경된 경우 (기능의 경우)에는 문제가 해결됩니다. 그 순간부터 SQL Server가 만든 새로운 계획은 하루 종일 완벽하게 작동하여 다음날 아침 같은 문제가 발생합니다. 또한이 동작은 100 % 일관성이 없으며 매일 아침마다 표시되지 않습니다. 그러나 4 ~ 5 일 동안 지속적으로보고있는 기간이있었습니다.
업무 시간에 문제가 발생합니다. UI / 웹 페이지에 더 집중적으로 액세스하는 것 같습니다.
누구나이 문제의 원인 과이 문제를 해결하는 방법에 대한 단서가 있습니까? 도움을 주시면 감사하겠습니다.