CORREÇÃO: Violação de acesso quando você insere um registro em uma nova partição vazia no SQL Server de 2008 ou no SQL Server 2008 R2

Traduções deste artigo Traduções deste artigo
ID do artigo: 2629456 - Exibir os produtos aos quais esse artigo se aplica.
Expandir tudo | Recolher tudo

Neste artigo

A Microsoft distribui Microsoft SQL Server 2008 Service Pack 3 (SP3) ou Microsoft SQL Server 2008 R2 corrige como um arquivo para download. Como as correções são cumulativas, cada versão nova contém todos os hotfixes e o lançamento da atualização de todas as atualizações de segurança que foram incluídas com o anterior SP3 de 2008 do SQL Server ou SQL Server 2008 R2.

Sintomas

Considere o seguinte cenário:
  • Você pode criar partições para uma tabela em SQL Server de 2008 ou no SQL Server 2008 R2.
  • Você não ativar a compactação em todas as partições.
  • Você tenta inserir um registro em uma nova partição vazia.
Nesse cenário, ocorre uma violação de acesso e o seguinte erro é registrado no log de erros de SQL Server:
<Date> <Time> spid##      ***Stack Dump being sent to C:\Program Files\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSQL\LOG\SQLDump0001.txt

<Date> <Time> spid##      SqlDumpExceptionHandler: Process 66 generated fatal exception c0000005 EXCEPTION_ACCESS_VIOLATION. SQL Server is terminating this process.

<Date> <Time> spid##      * BEGIN STACK DUMP:

<Date> <Time> spid##      *  Exception Address = 0000000000C37D22 Module(sqlservr+0000000000137D22)

<Date> <Time> spid##      *  Exception Code    = c0000005 EXCEPTION_ACCESS_VIOLATION

<Date> <Time> spid##      *  Access Violation occurred reading address 0000000000000020
Observação Esse problema também ocorre no Microsoft SQL Server 2008 R2.

Resolução

Informações da atualização cumulativa

SQL Server 2008 Service Pack 2

A correção para esse problema foi lançada em 8 de atualização cumulativa para SQL Server 2008 Service Pack 2. Para obter mais informações sobre esse pacote cumulativo de atualização, clique no número abaixo para ler o artigo na Base de dados de Conhecimento da Microsoft:
2648096 Pacote de atualizações cumulativas 8 para SQL Server 2008 Service Pack 2.
Observação Como as compilações são cumulativas, cada novo lançamento de correções contém todos os hotfixes e liberação de corrigir todas as correções de segurança que foram incluídas com o anterior de SQL Server de 2008. A Microsoft recomenda que você considere a aplicação a versão mais recente da correção que contém esse hotfix. Para obter mais informações, clique no número abaixo para ler o artigo na Base de dados de Conhecimento da Microsoft:
2402659 O SQL Server 2008 compilações lançadas após o lançamento do SQL Server 2008 Service Pack 2
Microsoft SQL Server de 2008 hotfixes são criados para específicos SQL Server service packs. Você deve aplicar um hotfix de SQL Server 2008 Service Pack 2 para uma instalação do SQL Server 2008 Service Pack 2. Por padrão, todos os hotfixes é fornecido em um service pack do SQL Server está incluído no próximo service pack SQL Server.

SQL Server 2008 R2

A correção para esse problema foi lançada em 11 de atualização cumulativa. Para obter mais informações sobre como obter esse pacote de atualizações cumulativas para SQL Server 2008 R2, clique no número abaixo para ler o artigo na Base de dados de Conhecimento da Microsoft:
2633145 Pacote de atualização cumulativa 11 para SQL Server 2008 R2
Observação Como as compilações são cumulativas, cada novo lançamento de correções contém todos os hotfixes e liberação de corrigir todas as correções de segurança que foram incluídas com o anterior SQL Server 2008 R2. Recomendamos que você considere a aplicação a versão mais recente da correção que contém esse hotfix. Para obter mais informações, clique no número abaixo para ler o artigo na Base de dados de Conhecimento da Microsoft:
981356 O SQL Server 2008 R2 compilações lançadas após o lançamento do SQL Server 2008 R2

SQL Server 2008 R2 Service Pack 1

A correção para esse problema foi lançada em 4 de atualização cumulativa para SQL Server 2008 R2 Service Pack 1. Para obter mais informações sobre como obter esse pacote cumulativo de atualização, clique no número abaixo para ler o artigo na Base de dados de Conhecimento da Microsoft:
2633146 Pacote de atualização cumulativa 4 para SQL Server 2008 R2 Service Pack 1.
Observação Como as compilações são cumulativas, cada novo lançamento de correções contém todos os hotfixes e liberação de corrigir todas as correções de segurança que foram incluídas com o anterior SQL Server 2008 R2. Recomendamos que você considere a aplicação a versão mais recente da correção que contém esse hotfix. Para obter mais informações, clique no número abaixo para ler o artigo na Base de dados de Conhecimento da Microsoft:
2567616 SQL Server 2008 R2 compilações lançadas após o lançamento do SQL Server 2008 R2 Service Pack 1.

SQL Server 2008 Service Pack 3

A correção para esse problema foi lançada pela primeira vez no pacote de atualizações cumulativas 2 para SQL Server 2008 Service Pack 3. Para obter mais informações sobre como obter esse pacote de atualizações cumulativas para SQL Server 2008 Service Pack 3, clique no número abaixo para ler o artigo na Base de dados de Conhecimento da Microsoft:
2633143 Pacote de atualizações cumulativas 2 para SQL Server 2008 Service Pack 3.
Observação Como as compilações são cumulativas, cada nova versão de atualização contém todos os hotfixes e o lançamento da atualização de todas as atualizações de segurança que foram incluídas com o anterior SQL Server 2008 Service Pack 3. Recomendamos que você considere a aplicação a versão de atualização mais recente que contém esse hotfix. Para obter mais informações, clique no número abaixo para ler o artigo na Base de dados de Conhecimento da Microsoft:
2629969 O SQL Server de 2008 se baseia lançados após o lançamento do Service Pack 3 do SQL Server de 2008

Mais Informações

Para confirmar se você está enfrentando o problema descrito neste artigo da base de Conhecimento, siga estas etapas:
  1. Abrir uma conexão DAC para SQL Server e execute a seguinte consulta:
    Use <your_db_name>
    
    select * from sys.sysrscols rsc where rsc.rsid in 
    
    ( select sau.container_id
    
    from sys.system_internals_allocation_units sau 
    
    join sys.partitions pt 
    
    on sau.container_id = pt.partition_id
    
    and pt.object_id = object_id(<YourPartitionedTable>) 
    
    and pt.index_id = 1)
    Observação Nesta consulta, <YourPartitionedTable>é um espaço reservado para o seu nome de tabela de partição.</YourPartitionedTable>
  2. Na saída da consulta, verifique se o rscolid coluna contém um grande valor. Este é um exemplo de um valor grande:
    Recolher esta tabelaExpandir esta tabela
    RSID rscolid hbcolid rcmodified IT CID m ordkey
    72057594380091392 016149115785604
    72057594380091392111361491157812967532650
    72057594380091392121461491157832999532650
    72057594380091392 131561491157832999532650
    72057594380091392 14166149115785900
    72057594380091392 15176149115785900
    72057594380091392 1718614911578183400
    72057594380091392 671088651961491157819627536250
    72057594380091392 22236149115785600
    72057594380091392 232461491157810407536250
    72057594380091392 242561491157866263600
Neste exemplo, o valor de 67108865 é significativamente maior do que outras pessoas. Isso indica que você está enfrentando o problema descrito neste artigo da base de Conhecimento.

Como Contornar

Para contornar esse problema, recrie as partições afetadas. Entre em contato com o suporte da Microsoft para saber quais partições estão envolvidas. Ou, você pode recriar todas as partições usando a seguinte consulta:
ALTER INDEX <your_table_index>

ON <your_table_name>

REBUILD Partition = all

GO

Situação

A Microsoft confirmou que esse é um problema nos produtos da Microsoft listados na seção "Aplica-se a".

Propriedades

ID do artigo: 2629456 - Última revisão: segunda-feira, 16 de janeiro de 2012 - Revisão: 2.0
A informação contida neste artigo aplica-se a:
  • Microsoft SQL Server 2008 Developer
  • Microsoft SQL Server 2008 Express
  • Microsoft SQL Server 2008 Express with Advanced Services
  • Microsoft SQL Server 2008 Standard
  • Microsoft SQL Server 2008 Enterprise
  • Microsoft SQL Server 2008 R2 Developer
  • Microsoft SQL Server 2008 R2 Enterprise
  • Microsoft SQL Server 2008 R2 Express
  • Microsoft SQL Server 2008 R2 Express with Advanced Services
Palavras-chave: 
kbqfe kbfix kbexpertiseadvanced kbsurveynew kbmt KB2629456 KbMtpt
Tradução automática
IMPORTANTE: Este artigo foi traduzido por um sistema de tradução automática (também designado por Machine Translation ou MT), não tendo sido portanto traduzido ou revisto por pessoas. A Microsoft possui artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais, com o objetivo de oferecer em português a totalidade dos artigos existentes na base de dados de suporte. No entanto, a tradução automática não é sempre perfeita, podendo conter erros de vocabulário, sintaxe ou gramática. A Microsoft não é responsável por incoerências, erros ou prejuízos ocorridos em decorrência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza atualizações freqüentes ao software de tradução automática (MT). Obrigado.
Clique aqui para ver a versão em Inglês deste artigo: 2629456

Submeter comentários

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com