Ein Wort zu TRUNCATE: Dieser Befehl funktioniert nur, wenn keine Fremdschlüssel definiert sind, es ist unerheblich, ob es durch das Löschen zu FK-Verletzungen kommen könnte.
Ich würde also in einem Skript alle FK entfernen, die
DB per TRUNCATE leeren und die FK dann wieder aktivieren.
Allerdings ist ein RESTORE einer initial-
DB wirklich sauberer.