Estou querendo tirar uma dúvida sobre a replicação Merge no SQL Server 2005. Fazendo testes percebi que quando criamos um campo de autonumeração numa tabela e replicamos a mesma para o assinante, a própria replicação cria umas contraints e dentre elas aparece uma que me deixou preocupado.
Tenho duas máquina virtuais com W2K3 SP1 no virtualbox 4.0.2 e ambos com SQL Server 2005 Enterprise SP1.
Ao fazer uma INSERÇÃO com uns 10.000 registros, como teste, no assinante, para ver a replicação no Publicador, apenas 2.000 registros são inseridos. Interessante que se eu fizer o contrário, do Publicador para o Assinante, os 10.000 registros passam sem problemas na mesma tabela. Outro teste que não deu problema foi atualizar 10.000 registros. Nas duas pontas testei e não ocorreu problema, todos foram atualizados sem erro.
Analisando o campo da tabela eu tenho as seguintes informações:
Nome do campo: id
tipo: INT IDENTITY (1, 1)
Constraint que aparece: ([id]>(500000) AND [id]<=(501000) OR [id]>(501000) AND [id] <=(502000))
Obs.:
O campo "id" está com a propriedade da Constraint: "Enforce For INSERTs And UPDATEs" como "Yes".
Bom até aí eu entendi que existe uma limitação de inserção do assinante para o publicador e a constraint limita em 2000 registros.
As perguntas são:
a.) para que ocorre esta limitação se são dois servidores, em apenas dois pontos(Publicador e Assinante)?
b.) Como faço para resolver isso sem ter que tirar o campo de autonumeração da tabela, e todos os registros entrarem normamente como acontece no publicador para o assinante?
c.) Alguém conhece alguma documentação que pudesse ajudar?
Agradeço muito a todos que puderem colaborar comigo. ;)
Pergunta
Pandashop
Olá pessoal!
Estou querendo tirar uma dúvida sobre a replicação Merge no SQL Server 2005. Fazendo testes percebi que quando criamos um campo de autonumeração numa tabela e replicamos a mesma para o assinante, a própria replicação cria umas contraints e dentre elas aparece uma que me deixou preocupado.
Tenho duas máquina virtuais com W2K3 SP1 no virtualbox 4.0.2 e ambos com SQL Server 2005 Enterprise SP1.
Ao fazer uma INSERÇÃO com uns 10.000 registros, como teste, no assinante, para ver a replicação no Publicador, apenas 2.000 registros são inseridos. Interessante que se eu fizer o contrário, do Publicador para o Assinante, os 10.000 registros passam sem problemas na mesma tabela. Outro teste que não deu problema foi atualizar 10.000 registros. Nas duas pontas testei e não ocorreu problema, todos foram atualizados sem erro.
Analisando o campo da tabela eu tenho as seguintes informações:
Nome do campo: id
tipo: INT IDENTITY (1, 1)
Constraint que aparece: ([id]>(500000) AND [id]<=(501000) OR [id]>(501000) AND [id] <=(502000))
Obs.:
O campo "id" está com a propriedade da Constraint: "Enforce For INSERTs And UPDATEs" como "Yes".
Bom até aí eu entendi que existe uma limitação de inserção do assinante para o publicador e a constraint limita em 2000 registros.
As perguntas são:
a.) para que ocorre esta limitação se são dois servidores, em apenas dois pontos(Publicador e Assinante)?
b.) Como faço para resolver isso sem ter que tirar o campo de autonumeração da tabela, e todos os registros entrarem normamente como acontece no publicador para o assinante?
c.) Alguém conhece alguma documentação que pudesse ajudar?
Agradeço muito a todos que puderem colaborar comigo. ;)
Link para o comentário
Compartilhar em outros sites
8 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.