Contrôler l'intégrité de la base de données
Effectuez régulièrement le contrôle d’intégrité des bases de données pour détecter d'éventuelles corruptions.
-
Dans SQL Server Management Studio, appelez la procédure stockée Stormshield_CheckDatabases pour effectuer une vérification des bases de données SES Evolution et optionnellement des bases de données système. Fournissez les paramètres suivants, spécifiques à votre environnement :
Paramètre | Description |
---|---|
FullCheck |
Active ou désactive la vérification complète des bases de données. Cette opération est plus longue mais permet de détecter plus d'erreurs qu'une vérification simple. Par exemple, pour une base de données d'environ 200 GB, une vérification complète dure environ 30 minutes contre 10 minutes pour une vérification simple. La durée dépend des capacités de la machine, ainsi que de la charge CPU et disque au moment de la vérification. La valeur peut être : 1 : Vérification complète activée (Valeur par défaut, recommandée pour une fréquence hebdomadaire ou mensuelle). 0 : Vérification complète désactivée (Valeur recommandée pour une fréquence quotidienne). |
IncludeSystemDatabases |
Inclut ou exclut la vérification des bases de données système de SQL Server. Ces bases de données ne sont pas liées à SES Evolution mais sont indispensables au bon fonctionnement de SQL Server lui-même.
Si cette vérification est déjà effectuée par un autre produit ou un autre plan de maintenance sur le même serveur, il est inutile de la refaire. |
Exemple de contrôle d'intégrité de la base de données :
Dans SQL Server Management Studio, exécutez la procédure de vérification une seule fois :
-
Vérification complète en utilisant les paramètres par défaut :
EXECUTE master.dbo.Stormshield_CheckDatabases;
-
Vérification simple et plus rapide :
EXECUTE master.dbo.Stormshield_CheckDatabases @FullCheck = 0;
Si la commande échoue, vous devez aviser en fonction des messages d'erreur ou d'avertissement retournés par SQL Server. Dans la plupart des cas, Stormshield recommande de restaurer une sauvegarde de la base de données plutôt que de tenter une réparation des données par SQL Server. En effet, la réparation est susceptible de supprimer des données.
Voici un exemple de messages renvoyés par SQL Server dans un cas de corruption du fichier de données de la base d'administration :
[2024-07-14T22:30:45.7482429+02:00] Checking master...
[2024-07-14T22:30:46.0763424+02:00] Checking msdb...
[2024-07-14T22:30:46.5159005+02:00] Checking model...
[2024-07-14T22:30:46.6096237+02:00] Checking EsAdministration...
Msg 8939, Level 16, State 98, Line 3
Table error: Object ID 1483152329, index ID 1, partition ID 72057594055557120, alloc unit ID 72057594066436096 (type In-row data), page (1:7501). Test (IS_OFF (BUF_IOERR, pBUF->bstat)) failed. Values are 133129 and -4.
Msg 8928, Level 16, State 1, Line 3
Object ID 1483152329, index ID 1, partition ID 72057594055557120, alloc unit ID 72057594066436096 (type In-row data): Page (1:7501) could not be processed. See other errors for details.
Msg 8978, Level 16, State 1, Line 3
Table error: Object ID 1483152329, index ID 1, partition ID 72057594055557120, alloc unit ID 72057594066436096 (type In-row data). Page (1:7249) is missing a reference from previous page (1:7501). Possible chain linkage problem.
Msg 8976, Level 16, State 1, Line 3
Table error: Object ID 1483152329, index ID 1, partition ID 72057594055557120, alloc unit ID 72057594066436096 (type In-row data). Page (1:7501) was not seen in the scan although its parent (1:7073) and previous (1:7665) refer to it. Check any previous errors.
CHECKDB found 0 allocation errors and 4 consistency errors in table 'IdentifierVersion' (object ID 1483152329).
CHECKDB found 0 allocation errors and 4 consistency errors in database 'EsAdministration'.
repair_allow_data_loss is the minimum repair level for the errors found by DBCC CHECKDB (EsAdministration).
[2024-07-14T22:30:51.8276754+02:00] Checking EsLogs...