web-dev-qa-db-fra.com

Base de données "Suspect" de SQL Server?

Que faites-vous lorsque vous avez une base de données marquée comme Suspect?

Restaurer à partir de la dernière sauvegarde?

S'il vous plaît donnez votre avis.

40
db7

La première chose est de vous assurer de NE PAS détacher cette base de données.

La restauration à partir de la dernière sauvegarde correcte est correcte. Sinon, vous devrez utiliser le mode de réparation d'URGENCE (je suppose que vous exécutez SQL 2005 ou supérieur). Voici quelques articles de Paul Randal sur le sujet. Lisez-les tous les deux avant de commencer toute action.

Créer, détacher, rattacher et réparer une base de données SUSPECT

Réparation en mode URGENCE: le tout dernier recours

41
SQLRockstar

À peu près oui.

Généralement, cela signifie que les fichiers sont bollixés ou manquants ou une erreur de disque ou certains autres (j'ai vu un mauvais secteur provoquer cela).

Mes pas:

  • Assurez-vous que toutes les sauvegardes sont là
  • Arrêtez SQL Server
  • chkdsk les disques utilisés par SQL Server (si tout va bien pas votre C: bien sûr)

Edit: je vais clarifier ma réponse

  • si les données sont importantes, j'aurai une sauvegarde
  • les temps d'arrêt tout en jouant avec les réparations et le mode d'urgence est trop long pour moi
5
gbn

J'ai écrit quelques conseils à ce sujet pour 2 cas de base de données suspecte: lorsque vous avez perdu le fichier de données ou le fichier journal. Veuillez lire ce qui suit:

5
yrushka

D'après votre question, il semble que vous ayez une sauvegarde. La restauration de la base de données à partir d'une bonne sauvegarde sera le moyen le plus simple et le plus rapide pour rendre votre base de données opérationnelle et sortir de l'état suspect.

4
StanleyJohns

Mon premier conseil est; ne détachez jamais la base de données suspecte. La restauration de la base de données à partir d'une sauvegarde mise à jour est utile. Si la sauvegarde n'est pas disponible ou a rencontré un problème, le mode EMERGENCY peut être utile:

Réglez la base de données en mode d'urgence:

ALTER DATABASE DB_NAME SET EMERGENCY

Maintenant, vérifiez les incohérences de la base de données avec ceci:

DBCC CHECKDB (‘DB_NAME’)

DBCC CHECKDB L'option de réparation autorise la perte de données est le dernier recours. Le résultat peut être une perte de données, donc je ne suggère pas de l'exécuter.

Vérifiez également référence 1 et référence 2

0
Priyanka