Replicar Tabelas

Delphi

30/06/2010

Olá pessoal, estou com um problema vou explicar para ver se alguém pode me ajudar.   Hoje faço uma replicação de algumas tabelas para outro banco de dados, os 2 banco ficam no mesmo servidor, mas vou precisar fazer esta replicação em outro servidor, vou passar o comando que uso para fazer a replicação.   insert into banco1.dbo.CLIENTE select * from banco2.dbo.CLIENTE   Pessoal este comando usado é o único que tenho se alguém tiver alguma idéia melhor estou aberto para mudanças Uso atualmente o banco SQL sei que ele tem estas opções más eu tenho cliente que tem o SQL7 , SQL2000, SQL2008, então acho que fica difícil deixar isso por conta do banco.   Muito obrigado pela atenção.  
Marcelo

Marcelo

Curtidas 0

Respostas

Carlos Mazzi

Carlos Mazzi

30/06/2010

Usamos isso ai tbm, quando nao usamos pela propria ferramenta (MyMaestro no caso do MySQL Server), fora isso, na mao 'e igual ao seu...
GOSTEI 0
Marcelo

Marcelo

30/06/2010

E ai pessoal, será que alguem tem alguma dica.   Obrigado.
GOSTEI 0
Marcelo

Marcelo

30/06/2010

Será que alguem tem algum dica para mim....
GOSTEI 0
Emerson Nascimento

Emerson Nascimento

30/06/2010

tente:

-- mapear um servidor remoto
EXEC sp_addlinkedserver
   N'MATRIZ', -- servidor
   N'SQL Server' -- tipo/produto

-- fazer o logon no servidor mapeado
EXEC sp_addlinkedsrvlogin
   N'MATRIZ', -- servidor
   N'FALSE', -- se deve logar com o usuário local
   Null, -- usuário local, no caso do parâmetro acima ser 'TRUE'
   'sa', -- usuário remoto
   '' -- senha do usuário remoto

SELECT * FROM [MATRIZ].DADOS.dbo.CLIENTE WHERE FILIAL = '01' AND CODIGO = '000001'
                 |        |         |
     servidor ---+        |         |
     banco de dados ------+         |
     tabela ------------------------+

-- efetuar logoff no servidor remoto
EXEC sp_droplinkedsrvlogin
   'MATRIZ', -- servidor
   Null -- usuario local que conectou no servidor remoto (null desconecta todos)

-- desconectar do servidor remoto
EXEC sp_dropserver
   'MATRIZ' -- servidor

GOSTEI 0
Marcelo

Marcelo

30/06/2010

Amigo muito obrigado pela atenção, más não consegui fazer funcionar....vou passar a rotina que tentei executar. Tentei replicar uma tabela do servidor_2 para o servidor_1.     -- mapear um servidor remoto
EXEC sp_addlinkedserver
   N'SERVIDOR_1', -- servidor
   N'SQL Server' -- tipo/produto -- fazer o logon no servidor mapeado
EXEC sp_addlinkedsrvlogin
   N'SERVIDOR_1', -- servidor
   N'FALSE', -- se deve logar com o usuário local
   Null, -- usuário local, no caso do parâmetro acima ser 'TRUE'
   'sa', -- usuário remoto
   '' -- senha do usuário remoto   insert into [SERVIDOR_1].banco.dbo.CLIENTE select * from [SERVIDOR_2].banco.dbo.CLIENTE   -- efetuar logoff no servidor remoto
EXEC sp_droplinkedsrvlogin
   'SERVIDOR_1', -- servidor
   Null -- usuario local que conectou no servidor remoto (null desconecta todos) -- desconectar do servidor remoto
EXEC sp_dropserver
   'SERVIDOR_1' -- servidor     Muito obrigado.
GOSTEI 0
Emerson Nascimento

Emerson Nascimento

30/06/2010

não é preciso especificar o sevidor no qual está logado. se você está mapeando o SERVIDOR_1, que dizer que você está logado no SERVIDOR_2, certo?
note que eu passei como teste o usuário sa sem senha. no seu caso é assim também?


-- mapear o servidor remoto
EXEC sp_addlinkedserver
   N'SERVIDOR_1', -- servidor
   N'SQL Server' -- tipo/produto

-- fazer o logon no servidor mapeado
EXEC sp_addlinkedsrvlogin
   N'SERVIDOR_1', -- servidor
   N'FALSE', -- se deve logar com o usuário local
   Null, -- usuário local, no caso do parâmetro acima ser 'TRUE'
   'sa', -- usuário remoto (o seu também é sa?)
   '' -- senha do usuário remoto (não tem senha?)

insert into [SERVIDOR_1].banco.dbo.CLIENTE select * from dbo.CLIENTE   -- efetuar logoff no servidor remoto
EXEC sp_droplinkedsrvlogin
   'SERVIDOR_1', -- servidor
   Null -- usuario local que conectou no servidor remoto (null desconecta todos)

-- desconectar do servidor remoto
EXEC sp_dropserver
   'SERVIDOR_1' -- servidor

para facilitar a análise do problema publique a mensagem de erro apresentada.
GOSTEI 0
Marcelo

Marcelo

30/06/2010

Sim estou logado no servidor e a outra maquina chama ( marcelotc ). Meu usuario é o sa e não tem senha. banco = TCI TABELA = IMP   esta dando esta mensagem: Server: Msg 7202, Level 11, State 2, Line 15
Could not find server 'Marcelotc' in sysservers. Execute sp_addlinkedserver to add the server to sysservers..   Obs: o erro esta dando na linha do comando insert....   vou colocar minha comando original.   -- mapear o servidor remoto
EXEC sp_addlinkedserver
   N'Marcelotc', -- servidor
   N'SQL Server' -- tipo/produto -- fazer o logon no servidor mapeado
EXEC sp_addlinkedsrvlogin
   N'Marcelotc', -- servidor
   N'FALSE', -- se deve logar com o usuário local
   Null, -- usuário local, no caso do parâmetro acima ser 'TRUE'
   'sa', -- usuário remoto (o seu também é sa?)
   '' -- senha do usuário remoto (não tem senha?)
insert into [Marcelotc].TCI.dbo.IMP select * from dbo.IMP
 
-- efetuar logoff no servidor remoto
EXEC sp_droplinkedsrvlogin
   'Marcelotc', -- servidor
   Null -- usuario local que conectou no servidor remoto (null desconecta todos)
-- desconectar do servidor remoto
EXEC sp_dropserver
   'Marcelotc' -- servidor
      Obrigado pela atenção...
GOSTEI 0
Emerson Nascimento

Emerson Nascimento

30/06/2010

você registrou essa máquina no seu grupo de servidores?
no SQL Server 2000 isso era feito no Enterprise Manager.
GOSTEI 0
Marcelo

Marcelo

30/06/2010

Amigo no Enterprise aparece o outro computador na arvore, só um detalhe uso atualmente o SQL7, será que pode ser isso ?
GOSTEI 0
Pedro Saraiva.

Pedro Saraiva.

30/06/2010

Programa com códigos fontes Ola pessoal, você programador que quer um aplicativo exemplo para fins comerciais, tenho uma dica, compre o WinPhar que vem com todos os códigos fontes e faça um programa baseado nele, sim ele também vêm com todos os componentes para instalar, voce além de ganhar um programa complidao, ganha tb os seus códigos fontes e seus componentes. O programa foi desenvolvido em Delphi 7 com banco de dados paradox, e custa apenas 20,00 reais
deem uma olhadinha ai no produto
http://produto.mercadolivre.com.br/MLB-149256966-winphar-2008-sistema-para-farmacias-e-drogarias-_JM
e ente em contato pelo e-mail pedroluissaraiva@yahoo.com.br.!
GOSTEI 0
Marcelo

Marcelo

30/06/2010

E ai pessoal alguma luz.   Obrigado.
GOSTEI 0
POSTAR