SELECTTOP 100  
REPLICATE(' ',4000) AS COLNAMES ,   
OBJECT_NAME(I.ID) AS TABLENAME,   
   I.ID AS TABLEID,   
   I.INDID AS INDEXID,   
   I.NAME AS INDEXNAME,   
   I.STATUS,   
INDEXPROPERTY (I.ID,I.NAME,'ISUNIQUE') AS ISUNIQUE,   
INDEXPROPERTY (I.ID,I.NAME,'ISCLUSTERED') AS ISCLUSTERED,   
INDEXPROPERTY (I.ID,I.NAME,'INDEXFILLFACTOR') AS INDEXFILLFACTOR   
INTO #TMP   
FROM SYSINDEXES I   
WHERE I.INDID > 0    
AND I.INDID < 255    
AND (I.STATUS & 64)=0   
--uncomment below to eliminate PK or UNIQUE indexes;   
--what i call 'normal' indexes   
--AND   INDEXPROPERTY (I.ID,I.NAME,'ISUNIQUE')       =0   
--AND   INDEXPROPERTY (I.ID,I.NAME,'ISCLUSTERED') =0   

DECLARE
   @ISQL VARCHAR(4000),   
   @TABLEID INT,   
   @INDEXID INT,   
   @MAXTABLELENGTH INT,   
   @MAXINDEXLENGTH INT
--USED FOR FORMATTING ONLY   
SELECT @MAXTABLELENGTH=MAX(LEN(TABLENAME)) FROM #TMP   
SELECT @MAXINDEXLENGTH=MAX(LEN(INDEXNAME)) FROM #TMP   

DECLARE C1 CURSOR FOR
SELECT TABLEID,INDEXID FROM #TMP     
OPEN C1   
FETCH NEXT FROM C1 INTO @TABLEID,@INDEXID   
WHILE @@FETCH_STATUS <> -1   
BEGIN
SET @ISQL = ''
SELECT @ISQL=@ISQL + ISNULL(SYSCOLUMNS.NAME,'') + ',' FROM SYSINDEXES I   
INNER JOIN SYSINDEXKEYS ON I.ID=SYSINDEXKEYS.ID AND I.INDID=SYSINDEXKEYS.INDID   
INNER JOIN SYSCOLUMNS ON SYSINDEXKEYS.ID=SYSCOLUMNS.ID AND SYSINDEXKEYS.COLID=SYSCOLUMNS.COLID   
WHERE I.INDID > 0    
AND I.INDID < 255    
AND (I.STATUS & 64)=0   
AND I.ID=@TABLEID AND I.INDID=@INDEXID   
ORDER BY SYSCOLUMNS.COLID   
UPDATE #TMP SET COLNAMES=@ISQL WHERE TABLEID=@TABLEID AND INDEXID=@INDEXID   

FETCH NEXT FROM C1 INTO @TABLEID,@INDEXID   
END
CLOSE C1   
DEALLOCATE C1   
--AT THIS POINT, THE 'COLNAMES' COLUMN HAS A TRAILING COMMA   
UPDATE #TMP SET COLNAMES=LEFT(COLNAMES,LEN(COLNAMES) -1)   

SELECT * FROM INFORMATION_SCHEMA.TABLES 
WHERE TABLE_NAME NOT IN(     
SELECT
--'' + UPPER(INDEXNAME) + '' AS INDEXNAME 
'' + UPPER(TABLENAME) + '' AS TABLENAME 
--,'' + UPPER(COLNAMES) + '' AS COLUMNNAME  
FROM #TMP) 

--SELECT * FROM #TMP   
DROP TABLE #TMP

目前尚未使用,做紀錄

arrow
arrow
    全站熱搜

    軒軒的爸媽 發表在 痞客邦 留言(0) 人氣()