none
Erro ao encontrar entrada de Indice ID RRS feed

  • Pergunta

  • Bom dia Senhores,

    me deparei com o erro abaixo ao fazer em uma de minhas tabelas, isso não acontece para todos os registros, somente para alguns em especifico, 

    já fiz procedimentos de checktable, checkdb, reorganização e recriar índices, todos sem sucesso.

    alguém já se deparou com o problema ?

    quinta-feira, 10 de março de 2016 11:16

Respostas

  • Boa tarde Rafael_cesar01,

    Por favor, utilize os comandos abaixo para resolver o seu problema

    USE MASTER
    GO
    --Verificando banco de dados
    DBCC CHECKDB ('nome do banco de dados') WITH ALL_ERRORMSGS
    ALTER DATABASE nome do banco de dados SET emergency
    ALTER DATABASE nome do banco de dados SET SINGLE_USER WITH ROLLBACK IMMEDIATE
    DBCC CheckDB ('nome do banco de dados', REPAIR_ALLOW_DATA_LOSS) WITH ALL_ERRORMSGS
    ALTER DATABASE nome do banco de dados SET MULTI_USER

    Pelo que parece, você teve perda de índices, e está esperando outros, logo, você precisa tornar sua tabela integra novamente.



    Att., Roberto Alves

    Por favor, lembre-se de Marcar como Resposta as postagens que resolveram o seu problema. Essa é uma maneira comum de reconhecer aqueles que o ajudaram e fazer com que seja mais fácil para os outros visitantes encontrarem a resolução mais tarde.

    • Marcado como Resposta Marcos SJ terça-feira, 15 de março de 2016 20:31
    terça-feira, 15 de março de 2016 16:57

Todas as Respostas

  • Rafael,

    Possivelmente o indice está corrompido.

    Neste caso o ideal é fazer um backup para garantia

    Depois executar um checkdb nele vai mostrar o objeto que esta corrompido, se for o indice você apenas tem que fazer um alter index nome rebuild ou dropar e criar novamente.

    Segue posts sobre corrupção de dados.

    Finding Data Corruption

    TechEd demo: nonclustered index corruption


    Se a resposta foi útil por favor classifique. Tiago Neves - @tiagolneves - acesse o meu blog http://www.tiagoneves.net

    quinta-feira, 10 de março de 2016 14:00
  • Bom Dia,

    Qual o resultado do comando CHECKDB nessa database?



    Fabrício França Lima MCITP - SQL Server Database Administrator Trabalho com SQL Server desde 2006 Treinamento DBA ONLINE: http://www.fabriciolima.net/blog/cursos-online/treinamento-tarefas-do-dia-a-dia-de-um-dba-online/

    quinta-feira, 10 de março de 2016 14:35
  • Boa tarde,

    Tiago / Fabricio

    segue o resultado do CHECKDB, pontos de falha

    Msg 8935, Level 16, State 1, Line 4
    Erro de tabela: ID de objeto 1666104976, ID de índice 1, ID de partição 72057629925507072, ID de unidade de alocação 72057612660899840 (tipo In-row data). O vínculo anterior (1:151172), na página (1:151173), não corresponde à página anterior (1:315969) que o pai (1:150833), slot 43 espera para essa página.
    Msg 8936, Level 16, State 1, Line 4
    Erro de tabela: ID de objeto 1666104976, ID de índice 1, ID de partição 72057629925507072, ID de unidade de alocação 72057612660899840 (tipo In-row data). Incompatibilidade na vinculação da cadeia de árvore B. (1:357232)->next = (1:151173), mas (1:151173)->Prev = (1:151172).
    Msg 8977, Level 16, State 1, Line 4
    Erro de tabela: ID de objeto 1666104976, ID de índice 1, ID de partição 72057629925507072, ID de unidade de alocação 72057612660899840 (tipo In-row data). O nó pai da página (1:357232) não foi encontrado.
    Msg 8979, Level 16, State 1, Line 4
    Erro de tabela: ID de objeto 1666104976, ID de índice 1, ID de partição 72057629925507072, ID de unidade de alocação 72057612660899840 (tipo In-row data). A página (1:357233) não tem referências dos nós pai (desconhecido) e anterior (página (1:152682)). Possível entrada de raiz incorreta no catálogo do sistema.

    quinta-feira, 10 de março de 2016 19:48
  • Boa tarde Rafael_cesar01,

    Por favor, utilize os comandos abaixo para resolver o seu problema

    USE MASTER
    GO
    --Verificando banco de dados
    DBCC CHECKDB ('nome do banco de dados') WITH ALL_ERRORMSGS
    ALTER DATABASE nome do banco de dados SET emergency
    ALTER DATABASE nome do banco de dados SET SINGLE_USER WITH ROLLBACK IMMEDIATE
    DBCC CheckDB ('nome do banco de dados', REPAIR_ALLOW_DATA_LOSS) WITH ALL_ERRORMSGS
    ALTER DATABASE nome do banco de dados SET MULTI_USER

    Pelo que parece, você teve perda de índices, e está esperando outros, logo, você precisa tornar sua tabela integra novamente.



    Att., Roberto Alves

    Por favor, lembre-se de Marcar como Resposta as postagens que resolveram o seu problema. Essa é uma maneira comum de reconhecer aqueles que o ajudaram e fazer com que seja mais fácil para os outros visitantes encontrarem a resolução mais tarde.

    • Marcado como Resposta Marcos SJ terça-feira, 15 de março de 2016 20:31
    terça-feira, 15 de março de 2016 16:57
  • Bom dia Roberto,

    já executei tanto os comandos como via plano de manutenção, mesmo assim o problema ainda persiste. 

    quarta-feira, 16 de março de 2016 13:24
  • Certo,

    Exatamente os mesmos comandos?

    Você tem algum backup da database?


    Att., Roberto Alves

    Por favor, lembre-se de Marcar como Resposta as postagens que resolveram o seu problema. Essa é uma maneira comum de reconhecer aqueles que o ajudaram e fazer com que seja mais fácil para os outros visitantes encontrarem a resolução mais tarde.

    quarta-feira, 16 de março de 2016 16:34