Je suis d'accord avec les suggestions de vos lots en morceaux gérables suppressions si vous n'êtes pas en mesure d'utiliser TRUNCATE, et je comme la goutte / suggestion pour créer son originalité, mais je suis curieux de savoir le commentaire suivant dans votre question:
Il est essentiellement équivalent à une instruction TRUNCATE TABLE - sauf que je ne suis pas autorisé à utiliser TRUNCATE
Je devine la raison de cette restriction a à voir avec la sécurité qui doit être accordée à tronquer directement une table et le fait qu'il vous permettra de tronquer tables autres que celui que vous êtes concernés par.
En supposant tel est le cas, je me demande si avoir une procédure stockée créée qui utilise la table TRUNCATE et utilisations « EXECUTE AS » serait considérée comme une alternative viable à l'octroi de droits de sécurité nécessaires pour tronquer directement la table.
Si tout va bien, cela vous donne la vitesse dont vous avez besoin tout en répondant aux problèmes de sécurité que votre entreprise peut avoir avec l'ajout de votre compte au rôle db_ddladmin.
Un autre avantage d'utiliser une procédure stockée ainsi que la procédure stockée lui-même pourrait être verrouillé de sorte que seul compte spécifique (s) sont autorisés à l'utiliser.
Si pour une raison quelconque ce n'est pas une solution acceptable et votre besoin d'avoir les données dans ce tableau supprimé est quelque chose qui doit être fait une fois par jour / heure / etc, je demande qu'un travail de l'Agent SQL a été créé pour tronquer la table à une heure programmée chaque jour.
Hope this helps!