A Microsoft distribui correções do Microsoft SQL Server 2008 R2 ou do Microsoft SQL Server 2008 como um arquivo para download. Como as correções são cumulativas, cada nova versão contém todos os hotfixes e todas as correções de segurança incluídas na versão anterior de correção do SQL Server 2008 R2 ou do SQL Server 2008.
Sintomas
Considere o seguinte cenário:
- Você instala o Microsoft SQL Server 2008 R2 ou o Microsoft SQL Server 2008 em um computador.
- Você configura a Replicação Transacional Ponto a Ponto e, em seguida, habilita a detecção de conflitos em uma tabela.
- Posteriormente, você desabilita a detecção de conflitos para a Replicação Transacional Ponto a Ponto.
- Você atualiza as estatísticas da tabela.
Nesse cenário, a atualização falha e você recebe a seguinte mensagem de erro:
Observação
Mensagem 0, Nível 11, Estado 0, Linha 0
Ocorreu um erro grave no comando atual. Os resultados, se houver, devem ser descartados.
Além disso, ocorre uma exceção de violação de acesso e um arquivo de minidespejo é gerado na pasta do log de erros do SQL Server.
Causa
Esse problema ocorre porque o mecanismo de banco de dados está tentando carregar estatísticas pendentes. Quando a detecção de conflitos P2P está habilitada, uma coluna do sistema MDColumnIdP2pCdId é adicionada ao conjunto de linhas de índice base da tabela. As consultas relacionadas à replicação podem criar estatísticas na coluna do sistema automaticamente. Quando a detecção de conflitos P2P é desabilitada, a coluna do sistema é removida da tabela. No entanto, as estatísticas correspondentes permanecem. Portanto, a atualização de estatísticas faz com que a exceção de violação de acesso ocorra porque as estatísticas não podem ser adicionadas à tabela.
Resolução
Informações sobre a atualização cumulativa
SQL Server 2008 R2 Service Pack 1
A correção para esse problema foi lançada pela primeira vez na Atualização Cumulativa 4 para o SQL Server 2008 R2 Service Pack 1. Para obter mais informações sobre como obter esse pacote de atualizações cumulativas, clique no número abaixo para ler o artigo na Base de Dados de Conhecimento Microsoft:
2633146 Pacote de atualizações cumulativas 4 para o SQL Server 2008 R2 Service Pack 1Observação: como os builds são cumulativos, cada nova versão de correção contém todos os hotfixes e todas as correções de segurança incluídas na versão anterior de correção do SQL Server 2008 R2. Recomendamos que você considere aplicar a versão de correção mais recente que contém esse hotfix. Para obter mais informações, clique no número abaixo para ler o artigo da Base de Dados de Conhecimento Microsoft:
2567616 As compilações do SQL Server 2008 R2 lançadas após o SQL Server 2008 R2 Service Pack 1
SQL Server 2008 R2
A correção para esse problema foi lançada pela primeira vez na Atualização Cumulativa 9. Para obter mais informações sobre como obter esse pacote de atualizações cumulativas para o SQL Server 2008 R2, clique no número abaixo para ler o artigo na Base de Dados de Conhecimento Microsoft:
2567713 Pacote de atualizações cumulativas 9 para SQL Server 2008 R2 Observação Como os builds são cumulativos, cada nova versão de correção contém todos os hotfixes e todas as correções de segurança incluídas na versão anterior de correção do SQL Server 2008 R2. Recomendamos que você considere aplicar a versão de correção mais recente que contém esse hotfix. Para obter mais informações, clique no número abaixo para ler o artigo da Base de Dados de Conhecimento Microsoft:
981356 As compilações do SQL Server 2008 R2 lançadas após o SQL Server 2008 R2
SQL Server 2008 Service Pack 2
A correção para esse problema foi lançada pela primeira vez na Atualização Cumulativa 3 para o SQL Server 2008 Service Pack 2. Para obter mais informações sobre esse pacote de atualização cumulativa, clique no número abaixo para ler o artigo na Base de Dados de Conhecimento Microsoft:
2498535 Pacote de atualização cumulativa 3 para o SQL Server 2008 Service Pack 2Observação: como os builds são cumulativos, cada nova versão de correção contém todos os hotfixes e todas as correções de segurança incluídas na versão anterior de correção do SQL Server 2008. A Microsoft recomenda que você considere aplicar a versão de correção mais recente que contém esse hotfix. Para obter mais informações, clique no número abaixo para ler o artigo da Base de Dados de Conhecimento Microsoft:
2402659 As compilações do SQL Server 2008 lançadas após o lançamento do SQL Server 2008 Service Pack 2 Os hotfixes do Microsoft SQL Server 2008 são criados para service packs SQL Server específicos. Você deve aplicar um hotfix do SQL Server 2008 Service Pack 2 a uma instalação do SQL Server 2008 Service Pack 2. Por padrão, qualquer hotfix fornecido em um service pack do SQL Server é incluído no próximo service pack do SQL Server.
A correção para esse problema foi lançada pela primeira vez no pacote de Atualização Cumulativa 6 para o SQL Server 2008 R2. Para obter mais informações sobre como obter esse pacote de atualizações cumulativas, clique no número abaixo para ler o artigo na Base de Dados de Conhecimento Microsoft:
2489376 Pacote de atualizações cumulativas 6 para o SQL Server 2008 R2Note Como os builds são cumulativos, cada nova versão de correção contém todos os hotfixes e todas as correções de segurança incluídas na versão de correção anterior do SQL Server 2008 R2. Recomendamos que você considere aplicar a versão de correção mais recente que contém esse hotfix. Para obter mais informações, clique no número abaixo para ler o artigo da Base de Dados de Conhecimento Microsoft:
981356 As compilações do SQL Server 2008 R2 lançadas após o SQL Server 2008 R2
Status
A Microsoft confirmou que este é um problema nos produtos da Microsoft listados na seção "Aplica-se a".
Mais informações
Para obter mais informações sobre como configurar e manter uma topologia de replicação ponto a ponto usando o Assistente para Configurar Topologia Ponto a Ponto, visite o seguinte site do Microsoft Developer Network (MSDN):
Como configurar a replicação transacional ponto a ponto (SQL Server Management Studio) Para obter mais informações sobre detecção de conflitos, visite o seguinte site do MSDN:
Detecção de Conflitos na Replicação Ponto a Ponto Para obter informações adicionais sobre a terminologia da atualização de segurança, clique no número abaixo para ler o artigo na Base de Dados de Conhecimento Microsoft (a página pode estar em inglês):
824684 Descrição da terminologia padrão usada para descrever as atualizações de software da Microsoft