I SQL Server kan du rulle tilbage en TRUNCATE fra en transaktion. Det skriver sidedeallokering til loggen, som du nævnte.