I assume that by "dynamic key fields" youu mean identity columns. If this is the case, create the tables in you test environment with identity columns as "Generated by default" instead of "generated always" This will allow you to insert the data without having to change all the identity columns and all the FK values that pint to them. Also, you will need to set the starting value on you identity column on your test system to something much greater than what you expect your production environment to contain. This will prevent your test system generating values that are duplicate of the production values.
HTH
Andy