Bonjour,

Suite à un problème disque relativement impactant, nous avons rencontré plusieurs problèmes sur nos sgbd, notre base MSSQL étant la dernière à manifester ses problèmes. Après 7 jours de fonctionnement "normal", j'ai constaté tardivement des erreurs détectées lors du check sur la BD. Voici une petite partie, concernant une de nos tables impactées :

Msg 8978, Level 16, State 1, Line 2
Erreur de table*: ID d'objet 377481565, ID d'index 1, ID de partition 72057603499425792, ID d'unité d'allocation 72057603586129920 (type In-row data). Une référence de la page précédente (5:2052218) est manquante à la page (3:1910329). Un problème de liaison de chaîne s'est peut-être produit.
Msg 8928, Level 16, State 1, Line 2
ID d'objet 377481565, ID d'index 1, ID de partition 72057603499425792, ID d'unité d'allocation 72057603586129920 (type In-row data)*: impossible de traiter la page (5:2052218). Pour plus d'informations, consultez les autres erreurs.
Msg 8943, Level 16, State 1, Line 2
Erreur de table*: ID d'objet 377481565, ID d'index 1, ID de partition 72057603499425792, ID d'unité d'allocation 72057603586129920 (type In-row data), page (5:2052218). Échec du test (max <= m_freeData). Emplacement 0, la ligne s'étend dans l'espace libre à 0xc.
Msg 8976, Level 16, State 1, Line 2
Erreur de table*: ID d'objet 377481565, ID d'index 1, ID de partition 72057603499425792, ID d'unité d'allocation 72057603586129920 (type In-row data). La page (5:2052218) n'a pas été détectée lors de l'analyse alors que sa page parent (5:2052217) et les (5:2052216) pages précédentes la référencent. Vérifiez les erreurs précédentes.
Msg 8928, Level 16, State 1, Line 2
ID d'objet 377481565, ID d'index 1, ID de partition 72057603499425792, ID d'unité d'allocation 72057603586129920 (type In-row data)*: impossible de traiter la page (5:2052219). Pour plus d'informations, consultez les autres erreurs.
Msg 8943, Level 16, State 1, Line 2
Erreur de table*: ID d'objet 377481565, ID d'index 1, ID de partition 72057603499425792, ID d'unité d'allocation 72057603586129920 (type In-row data), page (5:2052219). Échec du test (max <= m_freeData). Emplacement 0, la ligne s'étend dans l'espace libre à 0xb.
Msg 8976, Level 16, State 1, Line 2
Erreur de table*: ID d'objet 377481565, ID d'index 1, ID de partition 72057603499425792, ID d'unité d'allocation 72057603586129920 (type In-row data). La page (5:2052219) n'a pas été détectée lors de l'analyse alors que sa page parent (8:2613686) et les (1:3252821) pages précédentes la référencent. Vérifiez les erreurs précédentes.
Msg 8978, Level 16, State 1, Line 2
Erreur de table*: ID d'objet 377481565, ID d'index 1, ID de partition 72057603499425792, ID d'unité d'allocation 72057603586129920 (type In-row data). Une référence de la page précédente (5:2052219) est manquante à la page (5:2052220). Un problème de liaison de chaîne s'est peut-être produit.
Msg 8928, Level 16, State 1, Line 2
ID d'objet 377481565, ID d'index 1, ID de partition 72057603499425792, ID d'unité d'allocation 72057603586129920 (type In-row data)*: impossible de traiter la page (5:2052221). Pour plus d'informations, consultez les autres erreurs.
Msg 8976, Level 16, State 1, Line 2
Erreur de table*: ID d'objet 377481565, ID d'index 1, ID de partition 72057603499425792, ID d'unité d'allocation 72057603586129920 (type In-row data). La page (5:2052221) n'a pas été détectée lors de l'analyse alors que sa page parent (8:2613686) et les (5:2052220) pages précédentes la référencent. Vérifiez les erreurs précédentes.
Msg 8944, Level 16, State 12, Line 2
Erreur de table*: ID d'objet 377481565, ID d'index 1, ID de partition 72057603499425792, ID d'unité d'allocation 72057603586129920 (type In-row data), page (5:2052221), ligne 1. Échec du test (ColumnOffsets <= (nextRec - pRec)). Valeurs 257 et 209.
Msg 8944, Level 16, State 12, Line 2
Erreur de table*: ID d'objet 377481565, ID d'index 1, ID de partition 72057603499425792, ID d'unité d'allocation 72057603586129920 (type In-row data), page (5:2052221), ligne 1. Échec du test (ColumnOffsets <= (nextRec - pRec)). Valeurs 257 et 209.
Msg 8978, Level 16, State 1, Line 2
Erreur de table*: ID d'objet 377481565, ID d'index 1, ID de partition 72057603499425792, ID d'unité d'allocation 72057603586129920 (type In-row data). Une référence de la page précédente (5:2052221) est manquante à la page (5:2052222). Un problème de liaison de chaîne s'est peut-être produit.
Msg 8978, Level 16, State 1, Line 2
Erreur de table*: ID d'objet 377481565, ID d'index 3, ID de partition 72057604608491520, ID d'unité d'allocation 72057604729077760 (type In-row data). Une référence de la page précédente (9:1733352) est manquante à la page (9:5827618). Un problème de liaison de chaîne s'est peut-être produit.
CHECKTABLE a trouvé 0 erreurs d'allocation et 14 erreurs de cohérence dans la table 'xxxxx.HLPRPLP' (ID d'objet 377481565).
repair_allow_data_loss est le niveau minimum de réparation pour les erreurs trouvées par DBCC CHECKTABLE (RFXCOOPPROD.xxxxx.HLPRPLP).
Donc pas mal de choses, le problème commence a être critique, des jobs fonctionnels tombent en erreurs mais aussi tehcnique puisque la sauvegarde des journaux de transactions elle aussi n'arrive plus à se terminer (comme celle la complète d'hier soir d'ailleurs).

Après avoir lu pas mal de site web, plusieurs options :
La restauration d'une page : Oui mais les données ont plus que changées depuis 7 jours, cela parait très difficile de repartir avec les données si lointaine.
L'utilisation des commandes CHECKTABLE/DB avec les options REPAIR : Oui mais devra se faire base non utilisée et la possibilité de perdre des données me rebute pour le moment.
Ce sont les deux options principale, j'ai pu voir aussi

Dans le cadre de manipulation au sein de la base, est-il possible de récupérer les données dans une table temporaire ou quelque chose d'approchant ?

Je suis ouvert à toutes informations ou idées