Partager via


Utilisation des méthodes Verify et Repair

Les méthodes Verify et Repair vous permettent de vérifier l'intégrité des données d'une base de données Microsoft SQL Server 2005 Compact Edition (SQL Server Compact Edition) et de résoudre les éventuels problèmes. Pour plus d'informations, consultez Utilisation des méthodes Verify et Repair.

Vérification d'une base de données

Les fichiers de base de données SQL Server Compact Edition sont divisés en unités logiques de 4 Ko appelées « pages ». Chaque page étant écrite dans le fichier de base de données, SQL Server Compact Edition calcule et enregistre une somme de contrôle pour la page. Si la page est modifiée ou endommagée une fois écrite dans le fichier, elle ne correspond plus à sa somme de contrôle attendue.

Appelez la méthode Verify de la classe System.Data.SqlServerCe.SqlCeEngine pour recalculer les sommes de contrôle de chaque page du fichier de base de données et vérifier que les sommes de contrôle correspondent aux valeurs attendues. Si cette méthode renvoie la valeur true, cela indique que le fichier de base de données n'a pas été endommagé. Si elle renvoie la valeur false, cela signifie que le fichier de base de données a été endommagé, auquel cas l'application doit appeler la méthode Repair.

Réparation d'une base de données

En cas d'altération d'un fichier de base de données, vous pouvez essayer de le récupérer à l'aide de la méthode Repair de l'objet SqlCeEngine. La méthode Repair analyse la base de données et calcule les sommes de contrôle des pages. Si une somme de contrôle ne correspond pas à la somme de contrôle précédemment calculée lors de l'écriture d'une page dans la base de données, cette page est considérée comme endommagée.

Deux options permettent d'appeler la méthode Repair :

  • RepairOption.DeleteCorruptedRows
    Si vous appelez la méthode de réparation avec la valeur DeleteCorruptedRows, toutes les pages endommagées sont rejetées. Cette opération peut engendrer une perte significative de données si la page endommagée contient un schéma de base de données. Toutefois, les données récupérées à l'aide de cette option doivent être exemptes d'altération.
  • RepairOption.RecoverCorruptedRows
    Si vous appelez la méthode de réparation avec la valeur RecoverCorruptedRows , la base de données essaie de lire les données à partir des pages endommagées. Cette opération peut permettre la récupération d'une plus grande quantité de données mais ne garantit pas que celles-ci soient exemptes d'altération logique.
Remarque :
La méthode Repair n'est utile que si SQL Server Compact Edition renvoie une erreur portant le numéro d'erreur native 25017 (SSCE_M_DATABASECORRUPTED) ou qu'un appel de la méthode Verify de l'objet SqlCeEngine renvoie la valeur false.

Exemple

Description

L'exemple ci-dessous illustre l'utilisation des méthodes Verify et Repair.

Code

C#

SqlCeEngine engine = new SqlCeEngine("Data Source = AdventureWorks.sdf");
        if (false == engine.Verify())
        {
            MessageBox.Show("Database is corrupted.");
            engine.Repair(null, RepairOption.RecoverCorruptedRows);
        }
  

Code

Visual Basic

Dim engine As New SqlCeEngine("Data Source = AdventureWorks.sdf")
        If False = engine.Verify() Then
            MessageBox.Show("Database is corrupted.")
            engine.Repair(Nothing, RepairOption.RecoverCorruptedRows)
        End If

Voir aussi

Référence

Objets de l'espace de noms System.Data.SqlServerCe
System.Data.SqlServerCe Namespace (documentation de référence .NET Framework)

Aide et information

Assistance sur SQL Server Compact Edition