dimanche 18 novembre 2012

Démystifier problèmes de corruption de base de données dans MS SQL Server

L'une des principales préoccupations de tout DBA SQL Server est d'assurer rond-le-horloge disponibilité des données. Être en mesure de répondre à cette exigence typique est un pas en avant pour atteindre la haute performance. Cette tâche devient laborieuse, en cas de catastrophe ou de corruption frappe la base de données. Creuser plus profondément dans le problème, la corruption de base de données est provoquée au niveau du sous-système d'E / S. Cela implique que si vous avez un problème avec un de vos pilotes, contrôleurs, ou des lecteurs, SQL Server ne pourra pas lire ou écrire sur le disque. Lorsque les données de base de données n'est pas correctement écrites sur le disque, il induit corruption dans votre base de données SQL. Le niveau de dommages est déterminée par le problème sous-jacent.

Dans une situation similaire, vous remarquerez peut-être que les erreurs suivantes sont enregistrées dans le journal des erreurs SQL Server ou le journal des événements Windows:

Le système d'exploitation a retourné l'erreur 38 (atteint la fin du fichier.) Pour SQL Server lors d'une lecture à 0x000000a72c0000 décalage dans le fichier 'C: \ Program Files \ Microsoft SQL Server \ MSSQL10.SQL2008 \ MSSQL \ DATA \ my_db.mdf ».

Cette condition se produit généralement si le système d'exploitation ne parvient pas à effectuer l'opération d'E / S requis par le serveur SQL par le biais des appels d'API. Outre les problèmes avec le système de stockage, ces erreurs peuvent survenir en raison d'incohérences dans le système de fichiers.

Pour identifier le problème, vérifiez la table 'suspect_pages' dans 'msdb' pour trouver les pages qui sont confrontés à un problème similaire. Exécutez DBCC CHECKDB sur la base de données pour trouver toutes les erreurs de cohérence. Si des incohérences sont détectées, vous devez restaurer la base de données à partir d'une sauvegarde saine. Dans le cas où la sauvegarde est manquant, vous pouvez réparer votre base de données en utilisant les options DBCC CHECKDB réparation. Le niveau minimum de réparations nécessaires pour corriger l'erreur est généralement indiquée dans le message d'erreur.

Vous pouvez utiliser l'utilitaire SQLIOSim pour tester la cohérence des opérations d'E / S sur le disque. Cet utilitaire est indépendant du moteur SQL Server. Si l'outil reproduit les mêmes Erreur 823 , vous devriez communiquer avec votre fournisseur de matériel pour s'assurer que les configurations de tous les périphériques matériels sont conformes aux exigences d'E / S de SQL Server.

Dans le cas où vous ne parvenez pas à résoudre le problème en utilisant l'une des méthodes mentionnées ci-dessus, prendre l'aide de logiciels de récupération de SQL professionnelle . Ces outils compétentes assurer la récupération de base de données complète en cas de perte de données logiques ou de corruption. Avec l'aide de ces utilitaires, vous pouvez récupérer en toute sécurité les tables inaccessibles, vues, contraintes, des index XML Types de données XML, filestream types de données, ROW compressés ou compressés LA données et d'autres objets de base de données SQL Server. De plus, ils sont compatibles avec les dernières données SQL Server 2012 et toutes les versions inférieures.

Aucun commentaire:

Enregistrer un commentaire

Thanks for your valuable comment !