In my humblest of opinions.
Have you thought of using the SSIS "Transfer SQL Server Object Task"?
I have used this option recently. It's slower that just doing a backup and restore option. However you can specify "NOT" to take SQL object you don't want.