Neulich musste ich in einer Datenbank alle Indexe löschen, dabei habe ich mir mit folgenden Select-Befehl im Result-Fenster die entsprechenden Drop-Befehle generiert, diese anschliessend kopiert und als SQL-Befehle abgesetzt:
SELECT
' Drop index dbo.' + SO.[name] +'.'+ SI.[name]
FROM
SYSOBJECTS SO
INNER JOIN
SYSINDEXES SI
INNER JOIN
SYSINDEXKEYS SIK
ON
SIK.[id] = SI.[id]
AND
SIK.indid = SI.indid
INNER JOIN
SYSCOLUMNS SC
INNER JOIN
SYSTYPES ST
ON
SC.xtype = ST.xtype
ON
SIK.[id] = SC.[id]
AND
SIK.colid = SC.colid
ON
SO.[id] = SI.[id]
WHERE
SO.xtype = 'u'
AND
SI.indid > 0
AND
SI.indid < 255
AND
(SI.status & 64)=0
ORDER BY
SO.[name]
, SI.[name]