2013-08-22 1 views
0

SQL Server 2008 R2 (일부 중 하나)가 설치되어 있고 시스템이 상당히 사용량이 많습니다. missing indexes tables의 정보를 사용하여 과거에했던 것처럼 일부 인덱스를 최적화하려고합니다.SQL Server 2008 R2 누락 된 인덱스 통계가 누락되었습니다.

sys.dm_db_missing_index_group_stats 테이블이 비어 있다는 것이 이상한 것 같습니다.

이제 그 서버의 데이터베이스 중 어느 것도 비트를 놓치지 않고 sys.dm_db_missing_index_group_stats, sys.dm_db_missing_index_group_stats 등의 다른 테이블에 많은 레코드가 들어 있다고 생각하지 않습니다.

방금 ​​1 (1) 개의 레코드가 잠깐 테이블에 나타나고 그 이후로 사라졌습니다.

는 뭔가가 해당 서버에 심각하게 잘못 궁금이나 내가 사소한

+0

'DBCC TRACESTATUS (-1);'는 무엇을 보여줍니까? –

+0

인스턴스가 "-x"플래그로 시작되었을 가능성이 있습니까? http://msdn.microsoft.com/en-us/library/ms345524(v=sql.105).aspx (아래쪽 방향)에 따르면 이것이 문제가된다면 그것을 끄는 유일한 방법입니다. –

+0

@AaronBertrand DBCC TRACESTATUS (-1); 보여줍니다 bupkis – georged

답변

1

를 누락하는 경우 SQL 2008 R2에서 버그가 수 있도록 보인다. Google에서 "sys.dm_db_missing_index_group_stats empty"(Mike West 관련 정보)를 검색하십시오.

나는 어떻게되는지 설명하려고합니다.

SQL Server의 누락 된 색인 기능에 사용되는 4 개의 DMO (Dynamics Management Objects)가 있습니다.
누락 된 인덱스 세부 정보는 제거 될 때까지 이러한 DMO에 보관됩니다. 실제로 누락 된 인덱스를 만들거나 서버를 다시 시작하면 제거가 트리거됩니다.

그러나 이러한 DMO에는 600 행의 제한이 있습니다.

sys.dm_db_missing_index_group_stats DMO가 실행 된 쿼리에 대해서만 데이터를 수집하기 때문에 컴파일 된 쿼리와 실행 된 쿼리 모두에 대해 다른 세 개의 수집 데이터가이 "버그"를 유발합니다.

해결 방법은 sys.dm_db_missing_index_details dmv가 쿼리되고 "STATISTICS_ONLY = -1"을 사용하여 제안 된 모든 인덱스를 만든 다음 삭제할 것을 제안합니다. 이렇게하면 인덱스 권장 사항 수집이 다시 시작됩니다.

자세한 설명 here 및 해결 방법 here.

+0

[Help Center] (http://stackoverflow.com/help/how-to-answer)에서 : 외부 리소스에 대한 링크가 권장됩니다. 그러나 링크를 둘러싼 컨텍스트를 추가하면 동료 사용자는 그것이 무엇인지 알 수 있습니다. 왜 그곳에 가는지. 대상 사이트에 도달 할 수 없거나 영구적으로 오프라인 상태가되는 경우 중요한 링크의 가장 중요한 부분을 항상 인용하십시오. – Adam