설명서에서 sys.dm_exec_query_stats 경고의 실제 영향은 무엇입니까?


10

문서 에 대한 sys.dm_exec_query_stats다음 상태 :

서버에서 현재 실행중인 워크로드가있는 경우 sys.dm_exec_query_stats의 초기 쿼리가 부정확 한 결과를 생성 할 수 있습니다. 쿼리를 다시 실행하여보다 정확한 결과를 확인할 수 있습니다.

때로는 활동적인 작업 중에 DMV에 쿼리하여 정확한 결과를 선호합니다. 실제로 위의 경고를 적용하는 방법을 모르겠습니다. 항상 DMV를 두 번 쿼리하고 두 번째 결과 세트를 사용해야합니까? 그것은 조금 멀리 느껴집니다. DMV가 부정확 할 수있는 방법을 알고 분석에이를 고려할 수 있어야합니까? 그렇다면 어떤 종류의 부정확성이 나타날 수 있습니다 : 행 누락, 오래된 값, 일치하지 않는 행 또는 다른 것?

sys.dm_exec_query_stats활성 워크로드 중에 사용할 때 모범 사례는 무엇입니까 ?

답변:


6

나는 문구에 대해 좀 더 직관적으로 문서를 업데이트했습니다. 의도는 사용자에게 DMV에 대해 쿼리를 실행하면 완료된 항목에 대해서만 출력이 생성되고 기내 항목에는 출력되지 않는다는 것입니다. 따라서 워크로드 전체를 실행하여 모두 캡처되도록하십시오.

새로운 문구는 다음과 같으며 이전 문구가 포함 된 다양한 DMV를 적용합니다.

sys.dm_exec_query_stats의 결과는 실행중인 쿼리가 아니라 완료된 쿼리 만 데이터에 반영되므로 각 실행에 따라 달라질 수 있습니다.


4

실제로 위의 경고를 적용하는 방법을 모르겠습니다.

모호하기 때문입니다. 설명서 페이지 끝에 의견을 남길 수있는 공간이 있습니다. 이는 누군가가 해당 문서 페이지의 기록을보고 경고가 추가 된 이유, 여전히 필요한 경우 또는 업데이트가 필요한 이유를 확인할 수있는 유일한 방법입니다.

SQL Server 2017 CU 15의 구현에 대해 간략히 살펴 보았으며 각 명령문 실행 이 끝날 때만 업데이트되는 총합 외에는 불일치 (또는 "부정확성")를 기대할 특별한 이유가없는 것 같습니다 .

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.