Causes :

A page is considered « suspect » when the SQL Server Database Engine encounters one of the following errors when it tries to read a data page:

  • An 823 error that was caused by a cyclic redundancy check (CRC) issued by the operating system, such as a disk error (certain hardware errors)
  • An 824 error, such as a torn page (any logical error)
  • On peut voir dans la table suspect_pages de la base msdb la liste des erreurs de ce type

Résolution :

Vérification de l’etat de la base :

SELECT DATABASEPROPERTYEX (‘PUBS’, ‘STATUS’) AS ‘Status’;
GO

SELECT state_desc, user_access_desc FROM sys.databases WHERE name=‘PUBS’

Permet de supprimer le flag de base suspecte dans la base Master :

EXEC sp_resetstatus ‘PUBS’

Pré-requis : 

Nécessite de pouvoir modifier les bases systèmes grâce à la commande suivante :

sp_configure ‘allow updates’, 1

GO
RECONFIGURE WITH OVERRIDE

Et nécessite également que la base soit en mode urgence :

ALTER DATABASE PUBS SET EMERGENCY

Dans un environnement en cluster, vérifiez la valeur de la variable d’anvironnement :

_CLUSTER_NETWORK_NAME_ set = EXCLUSTER

Si la base est suspecte après restauration du a un problème d’espace utiliser :

sp_add_data_file_recover_suspect_db

sp_add_log_file_recover_suspect_db

Essayer de reconstruire le fichier de log de 2 facons :

EXEC sp_attach_single_file_db @dbname = ‘AdventureWorks’,     @physname = N’C:\Program Files\Microsoft SQL Server\MSSQL10.MSSQLSERVER\MSSQL\Data\AdventureWorks_Data.mdf’;

DBCC CHECKDB (‘PUBS’, REPAIR_ALLOW_DATA_LOSS)

Verif de base avant mise a dispo de la base :

DBCC CHECKDB

DBCC CHECKALLOC

DBCC TEXTALL

DBCC TEXTALLOC