Pergunta

Estou usando o SQL Server 2000 e tenho dois bancos de dados que replicam (assinatura push transacional) para um único banco de dados.Preciso saber de qual banco de dados vieram os registros.

Portanto, quero adicionar uma coluna fixa especificada na publicação à minha tabela para poder saber de qual banco de dados a linha se originou.

Como faço para fazer isso?

Eu gostaria de evitar alterar os bancos de dados principais principalmente devido ao fato de que há muitas tabelas nas quais eu precisaria fazer isso.Eu esperava algum recurso integrado de replicação que fizesse isso para mim em algum lugar.Fora isso, eu aceitaria a ideia da vista.

Foi útil?

Solução 3

Portanto, a solução para mim foi configurar as publicações de replicação para permitir transformações e criar um pacote DTS para cada site que anexe o siteid às tabelas para manter os ids exclusivos, pois não posso usar guias.

Outras dicas

Você poderia usar uma coluna calculada. Use o seguinte nos dois bancos de dados:


ALTER TABLE TableName ADD
    MyColumn AS 'Server1'

Em seguida, basta definir o banco de dados "mestre" único para usar uma coluna VARCHAR (ou o que você quiser) que você preenche usando o valor calculado das colunas.

Você pode criar uma visualização que adicione a coluna "constante" e usá-la como fonte de replicação.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top