Inquiridor
Inserir dados em bases simultaneamente

Discussão Geral
-
Boa tarde,
gostaria de uma ajuda no seguinte, faço importação de arquivos em uma determinada base de dados, porém, preciso que ao mesmo tempo seja alimentado uma outra base de dados com os mesmos dados, como proceder?
Exemplo pratico:
Importo um arquivo XML e estes dados são gravados em meu banco SQL, quero exatamente os mesmos dados em outro banco SQL.
- Tipo Alterado Marcos SJ sexta-feira, 4 de dezembro de 2015 14:28 O sistema não pode encontrar o arquivo especificado
Todas as Respostas
-
Filipe,
Uma possibilidade que pode ser aplicada seria utilizar alguma solução de replicação.
Você deseja espelhar no outro banco todos os dados ou algo específico?
Pedro Antonio Galvao Junior [MVP | MCC | Microsoft Evangelist | Microsoft Partner | Engenheiro de Softwares | Especialista em Banco de Dados | Professor Universitario | SoroCodigos | @JuniorGalvaoMVP | http://pedrogalvaojunior.wordpress.com]
-
-
Filipe,
Então com certeza existem alguns cenários:
1 - Criar um pacote no SSIS para realizar este tipo de procedimento;
2 - Criar uma procedure para realizar a inserção dos dados de forma simultânea;
3 - Configurar uma replicação transacional entre os dois bancos de dados;
4 - Criar um trigger nas tabelas do primeiro banco e durante a inserção dos dados o trigger envia para outro banco estes dados fazendo uso de alguma procedure.
Se são 3 tabelas o cenário é mais simples.
Pedro Antonio Galvao Junior [MVP | MCC | Microsoft Evangelist | Microsoft Partner | Engenheiro de Softwares | Especialista em Banco de Dados | Professor Universitario | SoroCodigos | @JuniorGalvaoMVP | http://pedrogalvaojunior.wordpress.com]
-
-
Filipe,
O Microsoft SQL Server, oferece uma documentação chamada Books Online que pode ser instalada em conjunto com o produto, como também, pode ser acessada via internet, acredito que será o primeiro passo que você deve seguir para obter mais informações e conhecimento sobre cada opção.
Pedro Antonio Galvao Junior [MVP | MCC | Microsoft Evangelist | Microsoft Partner | Engenheiro de Softwares | Especialista em Banco de Dados | Professor Universitario | SoroCodigos | @JuniorGalvaoMVP | http://pedrogalvaojunior.wordpress.com]
-
Boa tarde,
Segue uma documentação.
https://msdn.microsoft.com/pt-br/library/ms191184%28v=sql.120%29.aspx?f=255&MSPPError=-2147217396
Abraço
-
Obrigado pela dica Junior, só preciso de mais uma:
Consegui montar e o INSERT consegui fazer legal, agora preciso que se eu deletar ou atualizar informações automaticamente mude na outra tabela, como faço?
Create trigger utrEnviarCMV
ON wfiscal.M00001
FOR INSERT
AS
BEGIN
DECLARE @cdnota varchar(40),@idcodfiscal int, @dtescrituracao datetime, @sttipo varchar(1), @nmnumero varchar(19);
select @cdnota = cdnota ,@idcodfiscal = idcodfiscal, @dtescrituracao = dtescrituracao, @sttipo = sttipo, @nmnumero = nmnumero
from inserted
Insert into wfiscal.M00111
Values (@cdnota, @idcodfiscal, @dtescrituracao, @sttipo, @nmnumero)
END
-
Filipe,
Para isso, você precisa descobrir qual foi o evento disparado, veja se este exemplo ajuda:
Create Database Teste Go Use Teste Go Create Table T1 (Codigo Int) Create Table T2 (Codigo Int, Comando Varchar(10)) Go Create Trigger Trigger1 On T1 After Insert, Update, Delete As Begin If Exists (Select * From Inserted) And Not Exists (Select * From Deleted) Insert Into T2 (Comando) Values ('Insert') If Exists (Select * From Inserted) And Exists (Select * From Deleted) Insert Into T2 (Comando) Values ('Update') If Not Exists (Select * From Inserted) And Exists (Select * From Deleted) Insert Into T2 (Comando) Values ('Delete') End Insert Into T1 Values (1) Insert Into T1 Values (2) Insert Into T1 Values (3) Insert Into T1 Values (4) Insert Into T1 Values (5) Select * from T2
Pedro Antonio Galvao Junior [MVP | MCC | Microsoft Evangelist | Microsoft Partner | Engenheiro de Softwares | Especialista em Banco de Dados | Professor Universitario | SoroCodigos | @JuniorGalvaoMVP | http://pedrogalvaojunior.wordpress.com]