Sono d'accordo con i suggerimenti per lotto tuoi Elimina in blocchi gestibili se non si è in grado di utilizzare TRUNCATE, e mi piace il drop / creare il suggerimento per la sua originalità, ma io sono curioso di sapere il seguente commento nella tua domanda:
E 'fondamentalmente equivalente a una dichiarazione TRUNCATE TABLE - tranne che non sono autorizzato a utilizzare TRUNCATE
sto cercando di indovinare il motivo di questa limitazione ha a che fare con la sicurezza che deve essere concesso per troncare direttamente un tavolo e il fatto che permetterebbe di troncare le tabelle diversi da quello siete interessati con.
Supponendo che è il caso, mi chiedo se avendo una stored procedure creato che usi TRUNCATE TABLE e usi "eseguire come" potrebbe essere considerato una valida alternativa a dare diritti di sicurezza necessari per troncare direttamente al tavolo.
Speriamo che questo darebbe la velocità necessaria rispondendo anche alle preoccupazioni di sicurezza che l'azienda può avere con l'aggiunta di tuo account per il ruolo db_ddladmin.
Un altro vantaggio di usare una procedura immagazzinata questo modo è che la stored procedura stessa potrebbe essere bloccato in modo che solo account specifico (s) sono autorizzati ad utilizzarla.
Se per qualche motivo questo non è una soluzione accettabile e il vostro bisogno di avere i dati in questa tabella rimosso è qualcosa che deve essere fatto una volta al giorno / ora / etc, vorrei chiedere che un processo di SQL Agent è stato creato per troncare la tabella in un momento in programma ogni giorno.
Spero che questo aiuti!