2008-10-17 1 views

답변

2

이 쿼리를 수행해야합니다.
DB를 검색하여 통계를 찾는 저장 프로 시저에서 사용합니다.
SQL Server 2005 및 이전 버전에서도 작동합니다.

SELECT S.NAME 
FROM SYS.OBJECTS AS O 
     INNER JOIN SYS.STATS AS S 
     ON O.OBJECT_ID = S.OBJECT_ID 
     INNER JOIN SYS.STATS_COLUMNS AS SC 
     ON SC.OBJECT_ID = S.OBJECT_ID 
      AND S.STATS_ID = SC.STATS_ID 
WHERE (O.OBJECT_ID = OBJECT_ID('MyTable','local')) 
     AND (O.TYPE IN ('U')) 
     AND (INDEXPROPERTY(S.OBJECT_ID,S.NAME,'IsStatistics') = 1) /* only stats */ 
     AND (COL_NAME(SC.OBJECT_ID,SC.COLUMN_ID) = 'MyColumn') 
+0

다른 추가 곳 부분 "AND (S.USER_CREATED = 1)"의 경우이 방법을 사용하여, 사용자가 작성한 쿼리를 드롭이 쿼리를 사용에 흥미 : http://sqlsoundings.blogspot.be/2012 /06/delete-statistics.html –