Como adicionar uma coluna constante ao replicar um banco de dados?
-
09-06-2019 - |
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.
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.