Ho uno script per eliminare tutte le tabelle nel mio database che assomiglia a questo:errore l'eliminazione di tutte le tabelle "DELETE riuscita perché le seguenti opzioni SET dispone di impostazioni non corrette: 'QUOTED_IDENTIFIER'"
-- Disable all constraints
EXEC sp_MSForEachTable 'ALTER TABLE ? NOCHECK CONSTRAINT all'
-- Disable all triggers
EXEC EnableAllTriggers @Enable = 0
-- Delete data in all tables
EXEC sp_MSForEachTable 'DELETE FROM ?'
-- Dnable all constraints
EXEC sp_MSForEachTable 'ALTER TABLE ? WITH CHECK CHECK CONSTRAINT all'
-- Reseed identity columns
EXEC sp_MSForEachTable 'DBCC CHECKIDENT (''?'', RESEED, 0)'
-- Enable all triggers
EXEC EnableAllTriggers @Enable = 1
quando si colpisce il ELIMINA la riga ottengo questo errore per alcune delle tabelle:
DELETE non riuscita perché le seguenti opzioni SET hanno impostazioni errate: "QUOTED_IDENTIFIER". Verificare che le opzioni SET siano corrette per l'uso con viste indicizzate e/o indici su colonne calcolate e/o indici filtrati e/o notifiche di query e/o metodi di tipo di dati XML e/o operazioni su indici spaziali.
Non ho viste indicizzate, tutte le chiavi esterne e i trigger sono disabilitati, quindi non so quale causa questo errore. Qualche idea?
Sai che sp causa il problema eseguendo uno alla volta? –
Come nota a margine, se si desidera eliminare tutto da una tabella, utilizzare 'TRUNCATE' poiché è molto più veloce. – JNK
@JNK Non è possibile troncare una tabella a cui fa riferimento una chiave esterna (anche se i vincoli sono stati impostati su 'NOCHECK' per la domanda). – Iridium