Jaka jest między nimi różnica?
Zarówno polecenie Delete jak i Truncate służy do usuwania wierszy z tabeli lecz występują znaczące różnice pomiędzy nimi:
- Delete – można użyć klauzuli WHERE w celu wybrania wierszy do usunięcia. 
Truncate – usuwa wszystkie wiersze z tabeli. - Truncate działa szybciej niż Delete.
 - Delete uruchamia triggery, Truncate nie.
 - Delete dla każdego usuniętego wiersza dokonuje wpisu w dzienniku transakcji.
 - Truncate usuwa dane poprzez dealokację stron przechowujących dane w tabeli i rejestruje tylko te strony w dzienniku transakcji.
 - Delete jest poleceniem DML, a Truncate jest poleceniem DDL
 - Truncate resetuje właściwość Identity do wartości początkowych.
 
Więcej informacji na MSDN: