AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • Início
  • system&network
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • Início
  • system&network
    • Recentes
    • Highest score
    • tags
  • Ubuntu
    • Recentes
    • Highest score
    • tags
  • Unix
    • Recentes
    • tags
  • DBA
    • Recentes
    • tags
  • Computer
    • Recentes
    • tags
  • Coding
    • Recentes
    • tags
Início / dba / Perguntas / 109382
Accepted
Patrick
Patrick
Asked: 2015-08-08 06:40:50 +0800 CST2015-08-08 06:40:50 +0800 CST 2015-08-08 06:40:50 +0800 CST

Erro de consistência DBCC CHECKDB

  • 772

Estou tendo um problema com a replicação de uma tabela e finalmente localizei um erro de consistência na tabela de origem, mas estou perplexo quanto ao que está causando o erro de consistência.

Executei o DBCC Checkdb e encontrei o seguinte erro na tabela

Msg 2570, Level 16, State 3, Line 1 Page (1:5217772), slot 16 in object ID 1038014829, index ID 1, partition ID 349502316544000, alloc unit ID 349502316544000 (type "In-row data"). O valor da coluna "MHGPTX" está fora do intervalo para o tipo de dados "varchar". Atualize a coluna para um valor legal.

Usei DBCC PAGE para saber qual linha da tabela estava causando o problema e localizei a linha ofensiva.

Ranhura 16 Coluna 6 Deslocamento 0x28 Comprimento 150

MHGPTX = [Erro ao converter para string (comprimento 150 bytes)]

Foi aqui que fiquei preso, os dados no campo parecem bons, os dados estão bem abaixo do tamanho máximo da coluna, posso consultar a linha etc.

Encontrei algumas referências online para problemas semelhantes, onde o problema foi resolvido atualizando a linha usando os mesmos dados, então tentei isso, mas sem alteração.

Qualquer conselho seria muito apreciado

dbcc dbcc-checkdb
  • 2 2 respostas
  • 230 Views

2 respostas

  • Voted
  1. Julien Vavasseur
    2015-08-08T09:52:59+08:002015-08-08T09:52:59+08:00

    Eu tentaria isso:

    • descartar todos os índices
    • reconstruir o índice clusterizado
    • executar dbcc
    • criar índice
    • executar dbcc

    Eu também verificaria o hardware (disco) em busca de inconsistências.

    • 0
  2. Best Answer
    Patrick
    2016-06-25T09:07:07+08:002016-06-25T09:07:07+08:00

    Já faz um tempo, mas percebi que nunca atualizei isso.

    Descobri que o erro foi causado por caracteres de byte duplo (idioma asiático) e o segundo byte sendo truncado. Consegui corrigir o problema aumentando a coluna em um e, em seguida, alterando-a de volta para a largura original. Isso truncou o primeiro byte remanescente do caractere de byte duplo e checkdb agora retorna sem erro.

    • 0

relate perguntas

  • Erro ao anexar o banco de dados após excluir o arquivo NDF

  • DBCC CHECKDB WITH DATA_PURITY dá erro fora do intervalo

  • Erros de pureza de dados DBCC CHECKDB, mas nenhuma linha encontrada

  • DBCC ShrinkDatabase faz uma reorganização de arquivos?

  • DBCC TRACEON com a bandeira global

Sidebar

Stats

  • Perguntas 205573
  • respostas 270741
  • best respostas 135370
  • utilizador 68524
  • Highest score
  • respostas
  • Marko Smith

    conectar ao servidor PostgreSQL: FATAL: nenhuma entrada pg_hba.conf para o host

    • 12 respostas
  • Marko Smith

    Como fazer a saída do sqlplus aparecer em uma linha?

    • 3 respostas
  • Marko Smith

    Selecione qual tem data máxima ou data mais recente

    • 3 respostas
  • Marko Smith

    Como faço para listar todos os esquemas no PostgreSQL?

    • 4 respostas
  • Marko Smith

    Listar todas as colunas de uma tabela especificada

    • 5 respostas
  • Marko Smith

    Como usar o sqlplus para se conectar a um banco de dados Oracle localizado em outro host sem modificar meu próprio tnsnames.ora

    • 4 respostas
  • Marko Smith

    Como você mysqldump tabela (s) específica (s)?

    • 4 respostas
  • Marko Smith

    Listar os privilégios do banco de dados usando o psql

    • 10 respostas
  • Marko Smith

    Como inserir valores em uma tabela de uma consulta de seleção no PostgreSQL?

    • 4 respostas
  • Marko Smith

    Como faço para listar todos os bancos de dados e tabelas usando o psql?

    • 7 respostas
  • Martin Hope
    Jin conectar ao servidor PostgreSQL: FATAL: nenhuma entrada pg_hba.conf para o host 2014-12-02 02:54:58 +0800 CST
  • Martin Hope
    Stéphane Como faço para listar todos os esquemas no PostgreSQL? 2013-04-16 11:19:16 +0800 CST
  • Martin Hope
    Mike Walsh Por que o log de transações continua crescendo ou fica sem espaço? 2012-12-05 18:11:22 +0800 CST
  • Martin Hope
    Stephane Rolland Listar todas as colunas de uma tabela especificada 2012-08-14 04:44:44 +0800 CST
  • Martin Hope
    haxney O MySQL pode realizar consultas razoavelmente em bilhões de linhas? 2012-07-03 11:36:13 +0800 CST
  • Martin Hope
    qazwsx Como posso monitorar o andamento de uma importação de um arquivo .sql grande? 2012-05-03 08:54:41 +0800 CST
  • Martin Hope
    markdorison Como você mysqldump tabela (s) específica (s)? 2011-12-17 12:39:37 +0800 CST
  • Martin Hope
    Jonas Como posso cronometrar consultas SQL usando psql? 2011-06-04 02:22:54 +0800 CST
  • Martin Hope
    Jonas Como inserir valores em uma tabela de uma consulta de seleção no PostgreSQL? 2011-05-28 00:33:05 +0800 CST
  • Martin Hope
    Jonas Como faço para listar todos os bancos de dados e tabelas usando o psql? 2011-02-18 00:45:49 +0800 CST

Hot tag

sql-server mysql postgresql sql-server-2014 sql-server-2016 oracle sql-server-2008 database-design query-performance sql-server-2017

Explore

  • Início
  • Perguntas
    • Recentes
    • Highest score
  • tag
  • help

Footer

AskOverflow.Dev

About Us

  • About Us
  • Contact Us

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve