Possível duplicação:
Limitação rígida para contagem de artigos de replicação de mesclagem?
Estou usando a replicação de mesclagem no SQL 2012. Estou procurando aqui:
Role até o final e, em 'Replication Objects', diz que o número máximo de artigos em uma publicação de mesclagem é 256.
Eu não estava ciente dessa aparente limitação, mas, enquanto isso, tenho executado a replicação de mesclagem com 456 artigos e tudo parece funcionar bem.
Achei esses 3 links sobre isso:
- Muitos nomes de tabela na consulta sql 2005 erro de instantâneo de replicação de mesclagem
- CORREÇÃO: O Merge Snapshot Agent falha com o erro 50007: "Muitos nomes de tabela na consulta. O máximo permitido é 256."
- Limitação rígida para contagem de artigos de replicação de mesclagem?
Resumindo, aparentemente no SQL 2000 havia um bug que causava esse limite. Foi corrigido em um service pack, mas foi reintroduzido no SQL 2005.
Essa limitação ainda existe ou não? Não parece haver nenhuma informação oficial sobre o SQL 2012.
Prefiro que o estúdio de gerenciamento me diga 'você não pode adicionar mais de 256 artigos' em vez de ter que adivinhar se isso será um problema para nós ou não.
O primeiro link fornecido é a documentação oficial do SQL Server 2012.
http://msdn.microsoft.com/en-us/library/ms143432.aspx
O número máximo de artigos com suporte na replicação de mesclagem é 256. Isso significa que a Microsoft garantirá que até 256 artigos funcionem conforme o esperado. Também posso ultrapassar 256 artigos, mas não faria isso em produção. Você pode querer considerar dividir isso em várias publicações para fins de produção.
Não estou convencido sobre a limitação do artigo de publicação de 256. Se olharmos aqui,
http://social.msdn.microsoft.com/forums/en-US/sqlreplication/thread/f3f505ff-7a62-4131-badb-2ecf58f20808/
Ele está falando sobre uma determinada consulta que causa problemas no SQL 2005 quando você tem mais de 256 artigos. Primeiro, executei o procedimento armazenado sp_MSmakesystableviews.
Em seguida, gerou uma exibição chamada MSmerge_cont4F93AE6035D14E46ADA56D87F66E8962_90.
Se eu pegar a consulta subjacente na exibição, ela terá mais de 256 tabelas. Eu executo essa consulta em um banco de dados SQL 2005 e recebo o erro,
Se eu pegar a mesma consulta e executá-la no SQL 2012, ela funcionará bem.
Minha crença é que a documentação do MS está desatualizada e, a menos que eu encontre outros problemas com a execução da replicação de mesclagem com mais de 256 artigos, devo considerar que essa limitação não existe mais do SQL2008 para cima.