Você não disse qual versão. Já que estamos falando do SQL Server, existem várias maneiras de abordar isso. Se você estiver no SQL Server 2005/2008, a maneira mais fácil é provavelmente usar a função Importar Dados no SQL Server Management Studio. Na verdade, o que isso faz é criar um pacote do SSIS que permite trazer dados para o banco de dados combinado. Essa é uma abordagem simples do pacote SSIS, portanto, as chaves estrangeiras podem ser um problema.
Se isso falhar, outra opção é usar o bcp para exportar os dados para fora da (s) tabela (s), sem as referências de chave primária / estrangeira. Isto irá colocar os dados em arquivos de texto. Nesse ponto, você poderia usar o BULK INSERT para trazer os dados para o banco de dados combinado. Há uma ressalva aqui, pois se as colunas onde as chaves estrangeiras não permitem NULLs, essa abordagem será problemática.
Uma terceira opção é escrever os scripts você mesmo, e isso é bastante fácil de fazer também. Você pode pegar o segundo banco de dados, se ainda não estiver em seu SQL Server, e anexá-lo ao SQL Server onde o banco de dados combinado será. Uma conexão de servidor vinculado também pode funcionar, mas será muito mais lenta no geral. Em seguida, você pode gravar suas instruções INSERT de acordo, deixando os campos da chave primária. Para tabelas com referências de chave estrangeira, você pode usar JOINs para obter os valores corretos para as referências, contanto que você carregue as tabelas na ordem correta.
Uma quarta opção é criar um pacote personalizado do SSIS e carregar as tabelas em ordem, e fazer as pesquisas de acordo para garantir que você tenha os valores de referência de chave estrangeira corretos. Isso é um pouco mais complicado do que o primeiro passo, mas vai garantir que você acerte. Além disso, se você tiver que repetir este exercício, você já terá o pacote. Outra vantagem é que ele não exige que você crie uma conexão de servidor vinculado e usará os métodos de inserção mais rápidos possíveis no banco de dados combinado.