O artigo da TechNet, "Otimizando aplicativos do Microsoft Office Access vinculados ao SQL Server" , recomenda adicionar uma coluna de versão de linha às tabelas do SQL Server vinculadas do MS Access. Na seção Verificações de simultaneidade de suporte:
O Office Access detecta automaticamente quando uma tabela contém esse tipo de coluna e o utiliza na cláusula WHERE de todas as instruções UPDATE e DELETE que afetam essa tabela. Isso é mais eficiente do que verificar se todas as outras colunas ainda têm os mesmos valores que tinham quando o dynaset foi atualizado pela última vez.
O bom é que cada instrução UPDATE/DELETE e formulário associado se beneficiarão dessa adição sem ter que fazer nenhuma alteração no MS Access (além de revincular as tabelas).
Eu desconhecia esse recurso até recentemente. Estou pensando em adicionar uma coluna de versão de linha nomeada a cada tabela no SQL Server à qual vinculo do MS Access. Há alguma desvantagem que eu deva estar ciente antes de fazer isso?
Obviamente, haverá requisitos de armazenamento e impactos de desempenho, mas suponho que serão insignificantes. Além disso, várias dessas tabelas são artigos em um cenário de replicação de mesclagem; Isso faz alguma diferença?
Além das pequenas coisas que você já percebeu (requisitos adicionais de armazenamento e possíveis diferenças de desempenho como resultado da exigência de mais E/S para o mesmo número de linhas), não, não consigo pensar em nenhuma pegadinha real com adicionando uma
ROWVERSION
coluna a essas tabelas.Um problema potencial, no entanto, especificamente com a replicação de mesclagem, é se o Access pegar uma linha de um dos servidores e tentar pegar uma cópia da mesma linha de um assinante diferente (não tenho certeza se isso é possível em sua arquitetura). O motivo é que os
ROWVERSION
valores são gerados novamente em cada assinante, portanto, não corresponderão à origem - isso pode fazer parecer que a linha foi alterada, quando não foi. Talvez não seja possível, ou talvez esteja tudo bem que tal linha seja sempre considerada "suja", mas algo para se ter em mente (e provavelmente testar completamente).Você também pode revisar a seção de replicação de mesclagem neste documento sobre mudanças de esquema em geral .