• I'm already doing something very similar on one of our systems. The process requires me to load data from a standby database into one which the users can access. The load is a complete refresh due to the nature of the system.

    As part of this load, I have 4 threads of data copy running. These are actually managed from metadata in a table, but in an SSIS package which loops through four dynamically generated queues. This could be converted very easily to the T-SQL create / execute / delete job approach.

    I then use the create / execute / delete job approach for building the indexes on these tables. The idea is that as soon as the procedure has completed that copies the data across for a table, it spawns a job to rebuild all of the indexes for that table. This means that the data copy over gets done quickly, and the indexes follow, off the critical path.

    I was worried about the overhead on the server for doing this, but the copy over doesn't appear to be badly affected by the index rebuild.

    Cheers

    Ben