Artigo: 2248999 - Última revisão: segunda-feira, 15 de Novembro de 2010 - Revisão: 3.0

CORRECÇÃO: Um índice danificado quando actualizar uma vista no Microsoft SQL Server 2008 ou no Microsoft SQL Server 2008 R2

Dica do SistemaEste artigo aplica-se a um sistema operativo diferente do que está a utilizar. Foi desactivado o conteúdo do artigo, que pode não ser relevante para si.
A Microsoft distribui o Microsoft SQL Server 2008 e o Microsoft SQL Server 2008 R2 correcções como um ficheiro transferível. Uma vez que as correcções são cumulativas, cada nova edição contém todas as correcções e todas as correcções de segurança que foram incluídas com o SQL Server 2008 anterior ou o SQL Server 2008 R2 corrigir lançamento.

Nesta página

Expandir tudo | Reduzir tudo

Sintomas

Quando modifica dados através de uma vista no Microsoft SQL Server 2008 ou no Microsoft SQL Server 2008 R2, as tabelas que estão relacionadas com a vista danificadas.

Este problema ocorre quando se verificam as seguintes condições:
  • Tem duas ou mais tabelas que têm a mesma estrutura.
  • Estas tabelas não tem índices em cluster.
  • Cada tabela tem uma restrição de verificação que restringe os valores possíveis para uma coluna específica a um determinado intervalo. Os intervalos não se sobrepõem.
  • Criar uma vista que obtém uma União de todas estas tabelas. Usar a dica NOLOCK cada consulta da União.
  • Efectuar uma alteração de dados na vista de duas ou mais sessões em paralelo. Por exemplo, efectuar as operações UPDATE, INSERT e DELETE na vista.

Causa

O problema ocorre porque um isolamento de bloqueio incorrecto é utilizado durante a operação de alteração de dados.

Resolução

Informações da atualização cumulativa

SQL Server 2008 Service Pack 1

A correcção para este problema foi publicada pela primeira vez na actualização cumulativa 9 para o SQL Server 2008 Service Pack 1. Para mais informações sobre este pacote de actualização cumulativa, clique no número de artigo seguinte para visualizar o artigo na Microsoft Knowledge Base:
2083921  (http://support.microsoft.com/kb/2083921/LN/ ) actualização cumulativa 9 para o SQL Server 2008 Service Pack 1
NotaUma vez que as compilações são cumulativas, cada nova versão de correcção contém todas as correcções e todas as correcções de segurança que foram incluídas com o SQL Server 2008 anteriores corrigir lançamento. A Microsoft recomenda que considerem a aplicação a mais recente versão de correcção que contenha esta correcção. Para mais informações, clique no número de artigo seguinte para visualizar o artigo na Microsoft Knowledge Base:
970365  (http://support.microsoft.com/kb/970365/LN/ ) O SQL Server 2008 cria disponibilizadas após o lançamento do SQL Server 2008 Service Pack 1
Microsoft SQL Server 2008 correcções são criadas para service packs específicos do SQL Server. Tem de aplicar um hotfix do SQL Server 2008 Service Pack 1 para uma instalação do SQL Server 2008 Service Pack 1. Por predefinição, qualquer correcção fornecida num service pack do SQL Server está incluída no próximo service pack do SQL Server.

SQL Server 2008 Service Pack 2

A correcção para este problema disponibilizada pela primeira vez em 1 de actualizações cumulativo para o SQL Server 2008 Service Pack 2. Para mais informações sobre este pacote de actualização cumulativa, clique no número de artigo seguinte para visualizar o artigo na Microsoft Knowledge Base:
2289254  (http://support.microsoft.com/kb/2289254/ ) Actualização cumulativa 1 para o SQL Server 2008 Service Pack 2
NotaUma vez que as compilações são cumulativas, cada nova versão de correcção contém todas as correcções e todas as correcções de segurança que foram incluídas com o SQL Server 2008 anteriores corrigir lançamento. Recomendamos que considerem a aplicação a mais recente versão de correcção que contenha esta correcção. Para mais informações, clique no número de artigo seguinte para visualizar o artigo na Microsoft Knowledge Base:
2402659  (http://support.microsoft.com/kb/2402659]/ ) O SQL Server 2008 cria disponibilizadas após o lançamento do SQL Server 2008 Service Pack 2

SQL Server 2008 R2

A correcção para este problema primeiro foi disponibilizada em 4 de actualização cumulativa. Para mais informações sobre como obter este pacote de actualização cumulativa para o SQL Server 2008 R2, clique no número de artigo seguinte para visualizar o artigo na Microsoft Knowledge Base:
2345451  (http://support.microsoft.com/kb/2345451/ ) Pacote de actualização cumulativa 4 do SQL Server 2008 R2
NotaUma vez que as compilações são cumulativas, cada nova versão de correcção contém todas as correcções e todas as correcções de segurança que foram incluídas com o SQL Server 2008 R2 anteriores corrigir lançamento. Recomendamos que considerem a aplicação a mais recente versão de correcção que contenha esta correcção. Para mais informações, clique no número de artigo seguinte para visualizar o artigo na Microsoft Knowledge Base:
981356  (http://support.microsoft.com/kb/981356/ ) O SQL Server 2008 R2 cria disponibilizadas após o lançamento do SQL Server 2008 R2

Como contornar

Para contornar este problema, pode utilizar o comando DBCC CHECKDB ('Nome DB', REPAIR_REBUILD) para tentar corrigir os danos. Se os danos não podem ser corrigido, restaure a cópia de segurança mais recente que não tenha os danos.

Ponto Da Situação

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

Referências

Para mais informações sobre o modelo de assistência incremental para o SQL Server, clique no número de artigo seguinte para visualizar o artigo na Microsoft Knowledge Base:
935897  (http://support.microsoft.com/kb/935897/ ) Um modelo de assistência incremental está disponível a partir da equipa do SQL Server para proporcionar correcções para problemas comunicados

Para mais informações sobre o esquema de atribuição de nomes para as actualizações do SQL Server, clique no número de artigo seguinte para visualizar o artigo na Microsoft Knowledge Base:
822499  (http://support.microsoft.com/kb/822499/ ) Nova esquema de atribuição de nomes para pacotes de actualização de software do Microsoft SQL Server

Para mais informações sobre a terminologia de actualizações de software, clique no número de artigo seguinte para visualizar o artigo na Microsoft Knowledge Base:
824684  (http://support.microsoft.com/kb/824684/ ) Descrição da terminologia padrão utilizada para descrever actualizações de software da Microsoft

A informação contida neste artigo aplica-se a:
  • Microsoft SQL Server 2008 Developer
  • Microsoft SQL Server 2008 Enterprise
  • Microsoft SQL Server 2008 Standard
  • Microsoft SQL Server 2008 Workgroup
  • Microsoft SQL Server 2008 R2 Datacenter
  • Microsoft SQL Server 2008 R2 Developer
  • Microsoft SQL Server 2008 R2 Enterprise
  • Microsoft SQL Server 2008 R2 Standard
  • Microsoft SQL Server 2008 R2 Workgroup
Palavras-chave: 
kbqfe kbfix kbexpertiseadvanced kbsurveynew kbmt KB2248999 KbMtpt
Tradução automáticaTraduçã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 revisto ou traduzido por humanos. A Microsoft tem artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais. O objectivo é simples: oferecer em Português a totalidade dos artigos existentes na base de dados do suporte. Sabemos no entanto que a tradução automática não é sempre perfeita. Esta pode conter erros de vocabulário, sintaxe ou gramática? erros semelhantes aos que um estrangeiro realiza ao falar em Português. A Microsoft não é responsável por incoerências, erros ou estragos realizados na sequência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza actualizações frequentes ao software de tradução automática (MT). Obrigado.
Clique aqui para ver a versão em Inglês deste artigo: 2248999  (http://support.microsoft.com/kb/2248999/en-us/ )