Re,
Mon objectif est de réduire au minimum les opérations en ligne.
DBCC CHECKDB WITH PHYSICAL_ONLY vs BACKUP DATABASE WITH CHECKSUM :
Le CHECK est possible lors de la sauvegarde.
La bol à propos du check pendant la sauvegarde :
https://learn.microsoft.com/en-us/sq...sum--checksum-
CHECKSUM
Specifies that the backup operation verifies each page for checksum and torn page, if enabled and available, and generate a checksum for the entire backup.
https://learn.microsoft.com/en-us/sq...6#BckChecksums
if page-checksum or torn-page information is present on a given page, when backing up the page, BACKUP also verifies the checksum and torn-page status and the page ID, of the page.
En rapprochant de : https://learn.microsoft.com/fr-fr/sq...#physical_only
Limite la nature de la vérification à l'intégrité de la structure physique sur la page et les en-têtes d'enregistrement, et à l'intégrité de la cohérence d'allocation de la base de données. Cette vérification, qui vise à contrôler la cohérence physique de la base de données, inclut par ailleurs la détection des pages endommagées, des échecs de somme de contrôle et des erreurs matérielles courantes, susceptibles de compromettre les données utilisateur.
J'ai la vague impression que, sous réserve que le checksum des pages de la base soit activé, DBCC CHECKDB est redondant avec BACKUP DATABASE WITH CHECKSUM.
Surtout si on ajoute la remarque de la bol :
Si des erreurs sont signalées par DBCC CHECKDB, nous vous recommandons de restaurer la base de données à partir de sa sauvegarde au lieu d’exécuter REPAIR avec une des options correspondantes.
Mais il ne lit pas toutes les pages sur le disque... Vu qu'il capture en premier les pages en mémoire. DOnc des pages en mémoire depuis plusieurs jours peuvent être corrompues sur le disque...
Mon interprétation du point est que le DBCC force la lecture de tous les blocs des fichiers de la base, lors de l'execution.
J'ai tendance à me dire que si une page est défaillante sur disque alors que sa copie en mémoire est intègre, lors du database writer les choses vont rentrer dans l'ordre d'elle même.
Je n'arrive pas à voir où est le danger.
AlwaysOn répare automatiquement les pages endommagées, mais il faut quelles soient lues physiquement. Cela ne remplace pas le DBCC CHECK.
idem
DBCC CHECKDB complet
En plus de la validation "physique", il est opéré une validation "logique".
Comment une erreur "logique" peut arriver ?
Un bug ? j'amais entendu parlé !
Admettons, qu'on soit en face d'une erreur logique.
Quelle est la plus value d'avoir fait un DBCC regulièrement ? d'être informé plus tôt ?
Si on ne fait pas de test en conjonction avec un backup, on a peut être l'erreur dans beaucoup de fichiers de backup. Comment les repérer dans les sauvegardes ?
Si, en plus, les options de réparations sont innopérantes, que faire ? tester autant de restaurations que necessaire pour en trouver un backup database fiable (full et/ou differential) et de jouer tous les journaux qu'on aurait encore sous la main.
Si c'est bien ça (!) cela met un sacré coup aux "bonnes pratiques" https://learn.microsoft.com/fr-fr/sq...best-practices
Partager