KB2535705 - CORREÇÃO: Uma violação de acesso ocorre quando você restaura um banco de dados e executa o procedimento armazenado sp_replcounters ao mesmo tempo em um servidor que está executando o SQL Server 2008 ou SQL Server 2008 R2

Aplica-se A
SQL Server 2008 SQL Server 2008 R2

A Microsoft distribui as correções do Microsoft SQL Server 2008 Microsoft SQL Server 2008 R2 como um ficheiro transferível. Como as correções são cumulativas, cada nova versão contém todos os hotfixes e todas as correções de segurança que foram incluídas com o anterior SQL Server 2008 SQL Server 2008 R2 corrigir lançamento.

Sintomas

Tenha em conta o seguinte cenário:

  • Você tem um servidor que está executando replicação em um ambiente Microsoft SQL Server 2008 ou Microsoft SQL Server 2008 R2.
  • Você tem um segundo servidor que está executando o Microsoft SQL Server 2008 ou Microsoft SQL Server 2008 R2 e a replicação está desabilitada ou não está instalada.
  • Você restaura um banco de dados replicado do primeiro servidor para o segundo servidor.
  • Durante o processo de restauração do banco de dados, um usuário ou aplicativo executa o procedimento armazenado sp_replcounters no segundo servidor.

Nesse cenário, uma violação de acesso pode ocorrer no segundo servidor. Além disso, um arquivo de despejo de pilha é criado na pasta de log SQL Server. Quando este problema ocorre, poderá ter de reiniciar o segundo servidor.

Causa

Este problema ocorre porque o sp_replcounters do procedimento armazenado é executado num servidor em que a replicação está desativada ou não instalada. Quando sp_replcounters tenta acessar o cache de artigo, a operação de restauração de banco de dados já chamou clear_db_repl_cache para remover o banco de dados do cache de artigo antes que o banco de dados seja adicionado novamente ao cache de artigo.

Resolução

Informações de atualização cumulativa

SQL Server 2008 R2

A correção para este problema foi lançada pela primeira vez na Atualização Cumulativa 9. Para obter mais informações sobre como obter este pacote de atualização cumulativa para o SQL Server 2008 R2, clique no número abaixo para ler o artigo na Base de dados de Conhecimento da Microsoft:

2567713 pacote de atualização cumulativa 9 para SQL Server 2008 R2 Observação Como as compilações são cumulativas, cada nova versão de correção contém todos os hotfixes e todas as correções de segurança que foram incluídas com o SQL Server anterior 2008 R2 corrigir lançamento. Recomendamos que você considere aplicar o lançamento de correção mais recente que contém esse hotfix. Para mais informações, clique no número de artigo que se segue para ver o artigo na Base de Dados de Conhecimento Microsoft:

981356 As compilações SQL Server 2008 R2 lançadas após o lançamento do SQL Server 2008 R2

SQL Server 2008 R2 Service Pack 1

A correção para este problema foi lançada pela primeira vez na Atualização Cumulativa 2 para SQL Server 2008 R2 Service Pack 1. Para mais informações sobre como obter este pacote de actualização cumulativa, clique no número de artigo que se segue para ver o artigo na Base de Dados de Conhecimento Microsoft:

2567714 Pacote de Atualização Cumulativa 2 para SQL Server 2008 R2 Service Pack 1Nota Como as compilações são cumulativas, cada nova versão de correção contém todos os hotfixes e todas as correções de segurança que foram incluídas com o anterior SQL Server 2008 R2 corrigir lançamento. Recomendamos que você considere aplicar o lançamento de correção mais recente que contém esse hotfix. Para mais informações, clique no número de artigo que se segue para ver o artigo na Base de Dados de Conhecimento Microsoft:

2567616 As compilações do SQL Server 2008 R2 lançadas após o lançamento do SQL Server 2008 R2 Service Pack 1

SQL Server 2008

A correção para este problema foi lançada pela primeira vez na Atualização Cumulativa 4. Para obter mais informações sobre como obter esse pacote de atualização cumulativa para o SQL Server 2008, clique no número abaixo para ler o artigo na Base de dados de Conhecimento da Microsoft:

2527180 Pacote de atualizações cumulativas 4 para SQL Server 2008 Service Pack 2Nota Como as compilações são cumulativas, cada nova versão de correção contém todos os hotfixes e todas as correções de segurança que foram incluídas com o SQL Server anterior 2008 corrigir lançamento. Recomendamos que você considere aplicar o lançamento de correção mais recente que contém esse hotfix. Para mais informações, clique no número de artigo que se segue para ver o artigo na Base de Dados de Conhecimento Microsoft:

956909 As compilações SQL Server 2008 lançadas após o lançamento do SQL Server 2008

Estado

A Microsoft confirmou que se trata de um problema nos produtos Microsoft listados na secção "Aplica-se a".

Mais Informações

Para obter mais informações sobre quais arquivos são alterados e para obter informações sobre quaisquer pré-requisitos para aplicar o pacote de atualização cumulativa que contém o hotfix descrito neste artigo da Base de dados de Conhecimento da Microsoft, clique no número abaixo para ler o artigo na Base de dados de Conhecimento da Microsoft:

2527180 Pacote de atualizações cumulativas 4 para SQL Server 2008 Service Pack 2

Referências

Para obter mais informações sobre estatísticas de replicação, visite o seguinte site da Microsoft Developer Network (MSDN):

sp_replcounters (Transact-SQL) Para obter mais informações sobre a lista de compilações disponíveis após o lançamento do SQL Server 2008, clique no número abaixo para ler o artigo na Base de dados de Conhecimento da Microsoft:

956909 As compilações do SQL Server 2008 lançadas após o lançamento do SQL Server 2008Para obter mais informações sobre o modelo de manutenção incremental para SQL Server, clique no número abaixo para ler o artigo na Base de dados de Conhecimento da Microsoft:

935897 Um modelo de manutenção incremental está disponível na equipe de SQL Server para fornecer hotfixes para problemas relatadosPara obter mais informações sobre o esquema de nomeação para atualizações de SQL Server, clique no número abaixo para ler o artigo na Base de dados de Conhecimento da Microsoft:

822499 Novo esquema de nomenclatura para pacotes de atualização de software do Microsoft SQL Server Para obter mais informações sobre terminologia de atualização de software, clique no número abaixo para ler o artigo na Base de dados de Conhecimento da Microsoft:

824684 Descrição da terminologia padrão utilizada para descrever as atualizações de software da Microsoft