증상
Microsoft SQL Server 2012, 2014 또는 2016에서 AlwaysOn 가용성 그룹 기능을 사용 하는 것으로 가정 합니다. 보조 데이터베이스에 대해 쿼리를 실행할 때마다 쿼리가 다시 컴파일됩니다. 이 문제는 통계가 기본 서버에서 보조 서버로 올바르게 전파 되지 않기 때문에 발생 합니다. 프로파일러 추적을 실행 하는 경우 SQL server가 통계를 쿼리 하는 것을 의미 하는 Statman 에 대 한 다음과 같은 내용이 표시 됩니다.SELECT StatMan([SC0], [SB0000]) FROM (SELECT TOP 100 PERCENT [SC0], step_direction([SC0]) over (order by NULL) AS [SB0000] FROM (SELECT [xxx] AS [SC0] FROM [dbo].[xxx] TABLESAMPLE SYSTEM (7.033584e-001 PERCENT) WITH (READUNCOMMITTED) ) AS _MS_UPDSTATS_TBL_HELPER ORDER BY [SC0], [SB0000] ) AS _MS_UPDSTATS_TBL OPTION (MAXDOP 1) 참고 자동 업데이트 통계 옵션을 사용 하지 않도록 설정 하거나 비동기 자동 업데이트 통계 옵션을 사용 하도록 설정 하면이 문제가 발생 하지 않습니다.
해결 방법
이 문제는 SQL Server의 다음과 같은 누적 업데이트에서 처음 수정 되었습니다.
각각의 새로운 새 누적 업데이트에는 이전 누적 업데이트에 포함 된 모든 핫픽스와 모든 보안 수정 사항이 포함 되어 있습니다. SQL Server에 대 한 최신 누적 업데이트를 다운로드 하 여 설치 하는 것이 좋습니다.
참조
Microsoft에서 소프트웨어 업데이트를 설명 하는 데 사용 하는 용어 에 대해 알아봅니다.