Sqlserver
 sql >> Base de Dados >  >> RDS >> Sqlserver

importar dados de uma tabela para outra tabela


No SQL Server 2008, você pode criar um script de sua tabela Goo.Goo no SQL Server Mgmt studio e dizer a ele para também criar um script para inserir todos os dados usando T-SQL INSERT declarações. Vá no Pesquisador de Objetos, clique com o botão direito do mouse no banco de dados, escolha "Tarefas> Gerar Scripts", escolha a tabela para a qual deseja gerar as instruções de inserção de dados e certifique-se de usar esta opção aqui:



Esses poderiam então ser executados no outro servidor para inserir o conteúdo da tabela. Nesse caso, no entanto, você mesmo teria que lidar com a inserção de possíveis linhas existentes.

Por outro lado, se ambos os servidores estiverem na mesma rede, você pode usar o recurso "Servidor vinculado" e vincular o servidor de origem ao servidor de destino e, em seguida, usar a instrução MERGE do SQL Server 2008 para importar todos os dados da origem srever's table no servidor de destino.

No Pesquisador de Objetos, vá em "Objetos de Servidor", depois em "Servidores Vinculados", clique com o botão direito do mouse e "Adicionar novo servidor vinculado" para estabelecer uma conexão entre os dois servidores:



Depois que os servidores estiverem vinculados, uma instrução MERGE simples (nova no SQL Server 2008) permitirá mesclar os dados dessas duas tabelas:
MERGE 
  INTO Goo.Goo as Target
  USING Foo.Foo.dbo.Foo as Source
  ON Source.ID = Target.ID
WHEN NOT MATCHED THEN
  INSERT (field1, field2, field3)
  VALUES (source.field1, source.field2, source.field3)  
WHEN MATCHED THEN
  -- do nothing
;

Leia mais sobre a nova declaração MERGE aqui:

ou nos Manuais Online do SQL Server 2008.

Marco