Eu tenho alguns dados corrompidos e não consegui restaurar os dados por meio de backups. Isso estava afetando principalmente índices não clusterizados, portanto, após a criação de queda dos índices, os problemas foram resolvidos.
Por fim, tenho:
Msg 8905, Level 16, State 1, Line 3 Extent (1:896320) no banco de dados ID 15 está marcado como alocado no GAM, mas nenhum SGAM ou IAM o alocou. CHECKDB encontrou 1 erro de alocação e 0 erro de consistência não associado a nenhum objeto único. CHECKDB encontrou 1 erro de alocação e 0 erro de consistência no banco de dados 'db_name'. repair_allow_data_loss é o nível mínimo de reparo para os erros encontrados por DBCC CHECKDB (db_name).
Eu quero descobrir quais são as páginas de extensão e depois ver quais são os dados nessas páginas. Então, decida executar o comando CHECHDB com repair_allow_data_loss ou salve alguns dados, se possível.
Ele informa no erro,
Extent (1:896320)
, então da página 1:896320 para 1:896327.O problema aqui é que você tem um erro de alocação em que a extensão é marcada como alocada, mas nenhuma outra estrutura a mostra como tal. É realmente parte de algo? É não é?
Eu entendo de onde você está vindo, no entanto, não se sabe quando as páginas são. Isso poderia ter sido algo que aconteceu há algum tempo e está apenas sendo notado, então digamos, por uma questão de argumento, que há dados lá. É de 6 meses atrás? Ontem? Você realmente não vai saber. E se for parte de uma árvore de texto? O ponto é que a única coisa segura a fazer é geralmente desalocar a extensão. Nenhuma outra estrutura de alocação está reivindicando e você não sabe de onde é.