I recently ran into a situation where I had to truncate an entire database. Usually not a good sign, but this was to clean out a archive/logging database for someone to practice on. The script below works well and is based on sp_ms_foreachtable, which is unsupported but very useful.
--First, disable all constraints on all tables.
EXEC sp_msforeachtable "ALTER TABLE ? NOCHECK CONSTRAINT ALL"
--Second, delete the data from all tables.
EXEC sp_MSForEachTable "DELETE FROM ?"
--Third, re -enable all of the constraints
EXEC sp_msforeachtable "ALTER TABLE ? WITH CHECK CHECK CONSTRAINT ALL"
--Optionally, you can use DBCC CHECKIDENT to reseed all of the tables staring at 0 or whatever you want.
EXEC sp_MSforeachtable "DBCC CHECKIDENT ( '?', RESEED, 0)"