Affichage des articles dont le libellé est récupération de SQL. Afficher tous les articles
Affichage des articles dont le libellé est récupération de SQL. Afficher tous les articles

mardi 6 novembre 2012

Comment réparer une erreur 8930 dans la base de données SQL Server

L'un des plus populaires systèmes de gestion de base de données est Microsoft SQL Server. Il peut être utilisé pour stocker et gérer des données sensibles de toute entreprise. Il est principalement utilisé comme base de données back-end pour sites de commerce électronique, les applications de bases de données et des banques de données. Les données stockées dans une base de données peuvent être perdues encourir d'énormes pertes monétaires perte d'information, et le stress en métal pour le propriétaire. Si aucune sauvegarde n'a été prise, la perte peut même conduire à la fin de l'activité. Perte de données à partir d'un SGBD peut être due à la suppression accidentelle de données ou la corruption du fichier de base de données. En cas de corruption, un message d'erreur peut s'afficher. Dans cet article, nous allons discuter erreur d'exécution dans SQL Server 8930.

Erreur d'exécution 8930 est une erreur courante qui se produit lorsque vous exécutez un programme qui utilise la base de données SQL Server. Les raisons possibles de l'erreur 8930 sont entrées invalides dans le registre Windows, malwares, ou des conflits entre les programmes et la mémoire. Lorsque l'erreur se produit 8930, un message indiquant un message, Erreur de table ": O_ID1 Object ID, ID d'index I_ID1 liaison de chaîne inter-objet. Page P_ID1 points à P_ID2 dans l'ID d'objet O_ID2, ID d'index I_ID2 "est affiché. Cette erreur signifie que le pointeur de P_ID1 de page à la page suivante dans l'objet spécifié ne pointe pas vers elle, mais pointant vers une page qui P_ID2 est en quelque autre objet.

Erreur 8930 peut être résolu en exécutant la commande DBCC CHECKDB sur la base de données SQL Server. Il fait d'abord une vérification des tables système. Si une erreur est détectée, le chèque est à l'arrêt. DBCC CHECKDB n'est pas en mesure de réparer les tables système, la réparation doit être effectuée en utilisant des outils avancés de réparation SQL.

Comment résoudre erreur 8930

Avant d'exécuter DBCC CHECKDB, ou en employant tout autre outil ou une méthode, il est nécessaire de vérifier le matériel pour les éventuelles défaillances. Scannez votre matériel à l'aide des outils de diagnostic matériel pour vérifier et corriger les problèmes liés au matériel. Si l'erreur s'est produite en cours de discussion pendant que vous utilisez SQL Server, vous pouvez consulter le fichier journal du système d'exploitation, le fichier journal de l'application et SQL Server erreur de fichier journal pour vérifier que l'erreur a été causée en raison d'une défaillance matérielle. S'il est confirmé que l'erreur était due au matériel, rectifier le problème.

Si vous n'êtes pas en mesure de trouver le matériel erronée, vous pouvez remplacer le matériel par un avec celui qui est en état de fonctionner jusqu'à ce que votre problème est résolu. Ce processus d'isoler complètement le matériel défectueux. En outre, vérifiez que cache d'écriture sur le contrôleur de disque n'est pas activé. Contactez le fabricant pour résoudre le problème. Si rien ne résout le problème, vous pouvez modifier le serveur entier avec un nouveau.

Après vérification, si vous trouvez que le vrai problème n'existe pas avec le matériel et que vous avez une sauvegarde récente stockées avec vous, vous pouvez récupérer la base de données corrompues à partir de cette sauvegarde.

Utilisation de DBCC CHECKDB

DBCC CHECKDB a trois clauses disponibles REPAIR_FAST, REPAIR_REBUILD et REPAIR_ALLOW_DATA_LOSS. REPAIR_FAST est utilisé pour corriger la compatibilité descendante, sans faire aucune action de réparation. Réparations REPAIR_REBUILD indices, des lignes manquantes et autres erreurs sans causer aucune perte de données. Le troisième, REPAIR_ALLOW_DATA_LOSS répare les erreurs et peut causer la perte de données lors de la réparation. Si vous n'êtes pas sûr d'exécuter la commande, il est préférable d'utiliser un serveur recommandé de récupération de SQL outil logiciel pour réparer et récupérer les données perdues vous.

lundi 5 novembre 2012

Base de données SQL réparation et DBCC CHECKDB

SQL Server est largement utilisé pour le stockage des données et la gestion des données. La base de données agit comme un backend pour de nombreuses applications populaires. SQL Server permet de construire des programmes d'application avec des fonctionnalités efficaces et de haute performance. Il a été observé que SQL Server est bon quand il s'agit de fonctionnalités et de performances, mais faible dans la gestion des erreurs. Journalisation des erreurs et la suppression est souvent assuré à partir de l'ordinateur client. Parfois, toutes les options pour résoudre certaines erreurs dans la base de données SQL échoue et vous devez compter sur un logiciel de récupération de SQL pour corriger les erreurs dans la base de données.

Dans cet article, nous allons discuter d'une situation d'erreur typique. Le message d'erreur dit: "Erreur de table: ID d'objet O_ID1, ID d'index I_ID1 liaison de chaîne inter-objet. Page P_ID1 points à P_ID2 dans l'ID d'objet O_ID2, ID d'index I_ID2 ".

Dans SQL rangées de bases de données sont stockées dans des pages. Chaque page pointe vers une autre page. Au-dessus d'erreur indiqué à penser que le pointeur de Pg_Id1 qui était censé pointer vers la page suivante d'un objet particulier, les points à la page suivante d'un objet différent.

Pour résoudre l'erreur, vous devez commencer par vérifier les défaillances matérielles. S'il n'y a pas de problème au niveau du matériel, essayez de restaurer la base de données à partir d'une sauvegarde (si vous avez fait tout). Si aucune sauvegarde est stocké, la dernière option consiste à exécuter la commande DBCC CHECKDB. DBCC CHECKDB commence par vérifier les pages de données des tables système. Si une erreur est trouvée qui ne peut pas être réparé, DBCC CHECKDB est arrêté instantanément.

Comprendre DBCC CHECKDB

DBCC CHECKDB vérifie l'intégrité structurelle allocation et de tous les objets de la base de données corrompues. Il vérifie que les index et les pages de données sont correctement liés et dans l'ordre de tri correct. Cohérence dans les pointeurs, les données sur des pages et des pages décalages est également vérifiée. Commande DBCC déclaration recueille des informations sur la base de données endommagée, puis vérifie le fichier journal pour connaître les modifications supplémentaires. Deux séries d'informations sont combinées pour rendre les données cohérentes après la numérisation.

Syntaxe
DBCC CHECKDB
    ('Database'
            [, NOINDEX
                | {REPAIR_FAST
                    | REPAIR_REBUILD
                    | REPAIR_ALLOW_DATA_LOSS
                    }]
    ) [WITH {[ALL_ERRORMSGS]
                    [, [NO_INFOMSGS]]
                    [, [TABLOCK]]
                    [, [ESTIMATEONLY]]
                    [, [PHYSICAL_ONLY]]
                    }
        ]

Explication des arguments

NOINDEX

NOINDEX clause rend la commande DBCC CHECKDB pour fonctionner uniquement sur les tables système. Tables définies par l'utilisateur ayant des index non cluster ne sont pas vérifiées.

REPAIR_FAST

REPAIR_FAST clause rend la commande DBCC pour effectuer la réparation rapide du niveau base de données SQL quelques erreurs. Il répare les clés supplémentaires dans les index non cluster. Il n'ya aucun risque de perte de données par cette clause.

REPAIR_REBUILD

REPAIR_REBUILD est utilisé pour réparer les erreurs SQL de degré plus élevé que ceux réparé par REPAIR_FAST. Toutes les erreurs éliminées par REPAIR_FAST et le temps de prendre des mesures de rétablissement SQL, telles que la reconstruction d'index sont effectuées par REPAIR_REBUILD. Il n'ya aucun risque de perte de données par cette clause.

REPAIR_ALLOW_DATA_LOSS

Clause REPAIR_ALLOW_DATA_LOSS est utilisé pour effectuer la récupération de MDF SQL pour toutes les erreurs qui sont réparés par REPAIR_FAST et REPAIR_REBUILD. Lorsque cette commande est exécutée, des lignes et des pages sont désaffectées et attribués. Ceci est fait pour corriger les erreurs d'attribution, de lignes structurelles ou des erreurs de page, et de supprimer des objets de texte corrompus. Processus de réparation effectuée à l'aide REPAIR_ALLOW_DATA_LOSS peut causer des pertes de données. Processus de réparation peut être exécuté pour une transaction utilisateur. Cela vous aidera à reculer les changements, si nécessaire. Si un processus de récupération SQL est annulée, des erreurs peuvent exister dans la base de données. Les erreurs restants peuvent être retirés par l'aide d'une sauvegarde.

AVEC

Dans la clause WITH, vous pouvez spécifier des options, comme aucun. des messages d'erreur retournés, bloque l'acquisition, ou les exigences pour tempdb.

PHYSICAL_ONLY

Si la clause PHYSICAL_ONLY est utilisé, contrôle d'intégrité se limite à vérifier la structure physique de la page et têtes d'enregistrement, et la cohérence entre l'ID d'objet page, ID d'index et de structures d'allocation. Cette option est également utilisée pour vérifier pages endommagées et les erreurs matérielles qui entravent données.

Si la solution ci-dessus ne résout pas votre problème, vous pouvez essayer le logiciel de récupération de SQL.