you could script the entire database schema (no data) and recreate a new training database.
Create a dts package to migrate some data. If you have referential integrity, this could be a daunting task.
In some cases, it's simpler to create the blank database, populate the code tables via a DTS package or TSQL code and then redirect the dev environment application to the new empty database. Create some test records.
disconnect the dev application from the new training evn.
Keep this new database as the "production DB_Training" database and keep the structure in-sync with the production ensuring that all changes that migrate into production also migrate into the training database.
this will keep your env's in-sync and you will always have a nice small up-to-date training database with a few records for deployment. (use standard SQL backup and distribute as a .bak file. you could code a restore in deployment script if necessary)