Você pode escrever um procedimento armazenado que implemente toda a lógica de cópia.
Essencialmente:
- Insira a linha de cópia na tabela mestre - armazene o novo ID na variável
- Insira a cópia de cada linha nas tabelas filhas, referenciando FK na variável. Armazene o ID da linha filha na variável2
- Insira novas linhas em tabelas dependentes da tabela filha, referenciando o FK na variável2.
Resumindo, escreva um proc armazenado que comece no topo e desça quantas tabelas forem necessárias.