I SQL Server kan du återställa en TRUNCATE från en transaktion. Det skriver sidtilldelning till loggen, som du nämnde.