web-dev-qa-db-fra.com

Erreurs de DBCC CheckDBB

J'ai des problèmes avec ma base de données SQL Server. Quand je cours ceci:

select  * from dbo.Entity
where Oid='191FAF30-4729-4145-8106-60E34A8E164C'

... Il crache l'erreur suivante.

MSG 823, niveau 24, State 2, ligne 2 Le système d'exploitation a renvoyé l'erreur 1 (fonction incorrecte.) Sur SQL Server lors d'une lecture au décalage 0x00000021442000 dans le fichier 'D:\Database\db.mdf'.
[.____] Les messages supplémentaires dans le journal des erreurs SQL Server et le journal des événements système peuvent fournir plus de détails. Il s'agit d'une condition d'erreur de niveau système grave qui menace l'intégrité de la base de données et doit être corrigée immédiatement.
[.____] Terminez une vérification de la cohérence de la base de données complète (DBCC CheckDB). Cette erreur peut être causée par de nombreux facteurs; Pour plus d'informations, voir SQL Server Books en ligne.

L'erreur du journal des événements est la même que ci-dessus.

Alors j'ai couru un DBCC CHECKDB Et cela crache les erreurs suivantes:

CheckDB trouvée 0 erreurs d'allocation et 0 erreurs de consistance dans la base de données
Une erreur grave s'est produite sur la commande actuelle. Les résultats, le cas échéant, doivent être jetés.

J'ai essayé

dbcc checktable ('Entity')

mais le message était:

Msg 0, niveau 11, état 0, ligne 0
Une erreur grave s'est produite sur la commande actuelle.
[.____] Les résultats, le cas échéant, doivent être jetés.

Information sur la version:

Microsoft SQL Server 2012 - 11.0.2100.60 (X64) 
Feb 10 2012 19:39:15 
Copyright (c) Microsoft Corporation
Enterprise Edition: Core-based Licensing (64-bit) on Windows NT 6.2 <X64> (Build 9200: )

Toute suggestion sur la réparation de la table corrompue serait grandement appréciée!

5
mbbp

Lorsqu'une erreur de système d'exploitation est rencontrée au cours de la requête IO, celle-ci sera signalée sous la forme d'une erreur 823. 823 Les messages d'erreur sont rapportés uniquement pour un système d'exploitation raté IO Opération Erreurs. Étant donné que vous devez vérifier le journal des événements système pour tout disque ou entrées associées au système de fichiers. Vous devrez corriger les problèmes du système de disque ou de fichiers, sinon la corruption reviendra.

Msg 0, Level 11, State 0, Line 0
A severe error occurred on the current command.
The results, if any, should be discarded.

Cette erreur est généralement lancée lorsque nous avons des métadonnées corrompues ou incohérentes.

• L'erreur réelle serait la suivante: la base de données% D a des métadonnées incohérentes. Cette erreur ne peut pas être réparée et empêche le traitement DBCC supplémentaire. S'il vous plaît restaurer à partir d'une sauvegarde

• L'erreur d'incohérence de métadonnées est dans la plupart des cas irréparable avant toute tentative de corruption de corruption ou de récupérer les données, copiez les fichiers MDF et LDF sur un endroit sûr. De cette façon, vous pouvez au moins toujours revenir à votre état actuel si vos tentatives de récupération endommagent davantage la base de données.

Vous avez quelques options pour essayer: 1. Restaurer à partir de la sauvegarde. 2. Extrayez manuellement autant de données que vous pouvez, créer une nouvelle table, importer les données dans la nouvelle table, supprimer une table corrompue, renommer une nouvelle table sur le nom de la table corrompue. 3. Exécutez DBCC CheckdB Repair_allow_Data_Loss. <- Cela ne fonctionnera probablement pas 4. Achetez une application de 3ème partie coûteuse pour récupérer les données.

Seule la restauration de la sauvegarde est garantie de fonctionner, tant que vous ne sauvegardez pas une base de données corrompue.

1
stacylaray