Usuário com melhor resposta
Copiar dados entre tabelas de diferentes dados?

Pergunta
-
Pessoal
tenho dois banco de dados.
Um no pc 1 e outro no pc dois
Cada uma tem a tabela dados
Preciso de copiar os dados da tabela dados do pc1 para a tabela dados do pc2. Qual é a sintaxe?
OBrigado
Visual Basic 2008 Express Edition SQL Server Management Studio
Respostas
-
Jonas,
Na verdade o que você precisa fazer é usar a replicação de dados. O SQL Server já possui recursos para suprir suas necessidades, creio que será improdutivo você partir para o linked server.
Links para consulta:
http://www.linhadecodigo.com.br/artigo/1473/sql-server-replication-passoapasso.aspx
Abraços.
Se útil, Classifique.
Dhiego Piroto - MCP | MCTS SQL Server 2008 Developer | Email: dhiegopiroto@gmail.com
- Sugerido como Resposta Heloisa Pires quarta-feira, 6 de junho de 2012 13:59
- Marcado como Resposta Heloisa Pires terça-feira, 10 de julho de 2012 15:29
Todas as Respostas
-
Jonas, Bom dia!!
Neste caso você poderia criar um Linked Server e depois fazer um insert com select.
Segue um exemplo abaixo que fiz em minha maquina, neste caso você teria que configurar o linked server de acordo com as configurações de sua maquina, há também um link para que você possa ler mais sobre Linked Server e entender o que significa cada uma das configurações.
-- Adicionando Linked Server EXEC sp_addlinkedserver @server=N'SRV2012', -- Nome do Computador remoto @srvproduct=N'', -- Não precisa preencher @provider=N'SQLNCLI', -- SQL Server Driver @datasrc=N'SQL2012\SQLEXPRESS2012'; -- Servidor / Instancia que precisa ser acessada /* Link para mais detalhes de Linked Server http://msdn.microsoft.com/pt-br/library/ms190479.aspx */ --------------------------------------------------------------------- -- Select através do linked server SELECT * FROM SRV2012.SQL2012.dbo.Itens; GO /* Onde: SRV2012 Nome do linked server que criei. SQL2012 Nome do banco no servidor lincado. dbo Nome do schema. Itens Nome da tabela que preciso. */ --------------------------------------------------------------------- /* Se os passos acima retornarem corretamente. Abaixo um exemplo de Insert com Select */ -- Insert com Select INSERT INTO MINHATABELALOCAL SELECT * FROM SQL2012REMOTO.SQL2012.dbo.Itens; GO
Adriano Nascimento
-
-
Como é que eu sei a instanciá do meu banco de dados?
O ideal seria fazer este import a cada 2 minutos.
Porque a tabela origem vai estar a sofrer alterações a cada minuto que passa. E na tabela destino quero ter a informação mais actualizada possível.
então o código para import será:
EXEC sp_addlinkedserver @server=N'SRV2012', -- Nome do Computador remoto @srvproduct=N'', -- Não precisa preencher @provider=N'SQLNCLI', -- SQL Server Driver @datasrc=N'SQL2012\SQLEXPRESS2012'; -- Servidor / Instancia que precisa ser acessada
SELECT * FROM SRV2012.SQL2012.dbo.Itens; GO
INSERT INTO MINHATABELALOCAL SELECT * FROM SQL2012REMOTO.SQL2012.dbo.Itens;
Certo?
Jose,a sua sugestão nãoserve pois não é para fazer só uma vez. Mas obrigado ;)
valeu
Visual Basic 2008 Express Edition SQL Server Management Studio
- Editado Jonas São Paulo quarta-feira, 2 de maio de 2012 13:23
-
Jonas,
Na verdade o que você precisa fazer é usar a replicação de dados. O SQL Server já possui recursos para suprir suas necessidades, creio que será improdutivo você partir para o linked server.
Links para consulta:
http://www.linhadecodigo.com.br/artigo/1473/sql-server-replication-passoapasso.aspx
Abraços.
Se útil, Classifique.
Dhiego Piroto - MCP | MCTS SQL Server 2008 Developer | Email: dhiegopiroto@gmail.com
- Sugerido como Resposta Heloisa Pires quarta-feira, 6 de junho de 2012 13:59
- Marcado como Resposta Heloisa Pires terça-feira, 10 de julho de 2012 15:29
-
Dhiego pelo que estou a ler esta ferramenta permite fazer a replicação de dados via os comandos (menu) do sql server, né?
Também dá para programar a atualização dos dados. Muito bom... será que se programar para cada 2 minutos o banco não ficará muito pesado?
Outra duvida:
No menu "New Publication Wizard" escolho o meu outro banco de dados, aquele que está noutra maquina né?
Só assim é que terei as replicações a serem feitas para o meu pc do outro pc.
Nota, uso o sql server 2008
Obrigado
Visual Basic 2008 Express Edition SQL Server Management Studio
- Editado Jonas São Paulo quarta-feira, 2 de maio de 2012 22:45
-
Olá Jonas,
Você teve algum progresso nessa questão? Acredito que o link que o Dhiego enviou atende suas necessidades.
Se conseguiu resolver de outra maneira, poste aqui para deixarmos arquivado no fórum.
Obrigada,
Heloisa Pires | LATAM Forum Support Engineer | Microsoft Corporation
-
Jonas,
Você pode fazer através do Wizard indicado pelo Dhiego, como também, se for o caso através do Wizard Copy Database, copiar o banco de dados para o outro ambiente.
Pedro Antonio Galvão Junior [MVP | Microsoft Evangelist | Microsoft Partner | Engenheiro de Softwares | Especialista em Banco de Dados | SorBR.Net | Professor Universitário | MSIT.com]