sql >> Database >  >> RDS >> Sqlserver

Alle niet-geclusterde indexen uitschakelen

U kunt de query's als volgt in een select-statement inbouwen:

DECLARE @sql AS VARCHAR(MAX)='';

SELECT @sql = @sql + 
'ALTER INDEX ' + sys.indexes.name + ' ON  ' + sys.objects.name + ' DISABLE;' +CHAR(13)+CHAR(10)
FROM 
    sys.indexes
JOIN 
    sys.objects 
    ON sys.indexes.object_id = sys.objects.object_id
WHERE sys.indexes.type_desc = 'NONCLUSTERED'
  AND sys.objects.type_desc = 'USER_TABLE';

EXEC(@sql);

Tekens 13 en 10 zijn de line-feed/carriage-returns, dus u kunt de uitvoer controleren door EXEC te vervangen met PRINT , en het zal beter leesbaar zijn.



  1. SQL Server 2008 Hoog CPU-gebruik

  2. High-performance transacties realiseren bij het uitbreiden van PostgreSQL met C-functies

  3. Deepdive-installatie, PostgreSQL-fout

  4. Bij het maken van een invoer met meerdere rijen krijg ik de foutmelding:Kon niet aanwezig zijn Onbekende kolom '‘FName’ in 'veldlijst'