Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Administration SQL Server Discussion :

Error I/O Msg 823


Sujet :

Administration SQL Server

  1. #1
    Membre régulier
    Error I/O Msg 823
    Bonjour,

    J'ai effectué un DBCC CHECKDB sur l'une de mes bases SQL 2000.

    Et j'ai eu cette erreur :

    I/O error (bad page ID) detected during read at offset 0x0000000398000 in file
    'C:\Datas\MSSQL\MSSQL$Paris\LOG\xxxx.mdf'.

    J'ai aussi exécuté un SELECT sur la table et j'ai la même erreur.

    Pourriez-vous m'aider ?

    Merci d'avance.
    Errare Humanum Est ...

  2. #2
    Membre éprouvé
    Il faut regarder dans le journal des évènements windows la trace d'erreurs matérielles, pb disque, etc... et te préparer à restaurer tes backups. Une erreur 823 vient à 99.9% d'un problème disque ou contrôleur.

    Peux-tu renvoyer la sortie complète de

    Code :Sélectionner tout -Visualiser dans une fenêtre à part
    1
    2
    DBCC CHECKDB('<mabase>') WITH ALL_ERRORMSGS, NO_INFOMSGS
    GO
    David B.

  3. #3
    Membre régulier
    Voici le résultat du :

    Code :Sélectionner tout -Visualiser dans une fenêtre à part
    DBCC CHECKDB (chantier) WITH ALL_ERRORMSGS, NO_INFOMSGS



    Code :Sélectionner tout -Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    Msg*8909, Niveau*16, État*1, Ligne*1
    Erreur de table : Objet ID = 0, index ID*=*0, page ID = (1:22988). ID de page de l'en-tête de page = (0:0).
    CHECKDB a trouvé 0 erreurs d'allocation et 1 erreurs de cohérence non associées à un quelconque objet unique.
    Msg*8928, Niveau*16, État*1, Ligne*1
    Objet ID = 574885365, index ID = 0 : La page (1:22988) ne peut pas être traitée. Pour plus d'informations, consultez les autres erreurs.
    Msg*8976, Niveau*16, État*1, Ligne*1
    Erreur de table : Objet ID = 574885365, index ID = 1. Page (1:22988) n'a pas été trouvé dans l'analyse bien que ses parents (1:22930) et (1:22987) précédents y font référence. Contrôlez toutes les erreurs précédentes.
    Msg*8978, Niveau*16, État*1, Ligne*1
    Erreur de table : Objet ID = 574885365, index ID = 1. La page (1:22989) n'a pas de référence dans la page précédente (1:22988). Possibilité d'un problème de liaison de chaîne.
    CHECKDB a trouvé 0 erreurs d'allocation et 3 erreurs de cohérence dans la table 'Circulaires' (objet ID = 574885365).
    CHECKDB a trouvé 0 erreurs d'allocation et 4 erreurs de cohérence dans la base de données 'chantier'.
    repair_allow_data_loss est le minimum de niveau de réparation pour les erreurs trouvés par DBCC CHECKDB (chantier ).
    Errare Humanum Est ...

  4. #4
    Membre éprouvé
    OK. Donc une fois le problème racine identifié et corrigé , l'ultime solution reste de restaurer un backup. Surtout ne pas être tenté de détacher la base. Il faut faire un état des lieux de tes backups:

    - As-tu seulement un backup complet valide de la base ? Peux-tu le restaurer qq part pour t'en assurer ?
    - Quel est le mode de récupération de la base (select databasepropertyex('chantier')) ?
    - Si elle est en mode FULL, as-tu des backups de journaux qui pourraient te permettre de revenir au point de crash ? Il faut être sûr de tout avoir sous la main car lorsque le tail-log backup est effectué, il n'y a plus de retour arrière. On est obligé de restaurer.
    - Si elle est en mode SIMPLE, as-tu des backups différentiels pour revenir au plus près du point de crash ?
    - Est-ce que tu exécutes régulièrement un DBCC CHECKDB('chantier') ? Si tu ne le lances jamais, il peut être difficile de savoir de quand date le dernier backup valide.

    Si tu as une solution de backup valide et que ta base est en mode de récupération FULL:
    1) Fermer les connexions à la base.
    2) Faire un tail-log backup:
    Code :Sélectionner tout -Visualiser dans une fenêtre à part
    backup log chantier to disk='...'  WITH NO_TRUNCATE, NORECOVERY, STATS, INIT

    3) Restaurer tes backups en commençant par la dernière complète en WITH NORECOVERY.Si tu as d'autres backups transactionnels les rejouer dans l'ordre jusqu'au dernier, toujours en WITH NORECOVERY.
    4) Restaurer le backup TAIL-LOG pris à l'étape 2) en WITH RECOVERY

    Si tu as un backup valide et que la base est en mode SIMPLE:
    1) Fermer les connexions à la base.
    2) Restaurer le dernier backup complet valide.
    3) Si tu as un backup différentiel à suivre, il faut restaurer la complète en WITH NORECOVERY suivie de la différentielle en WITH RECOVERY. Si tu n'as pas de backup différentiel à suivre, il faut juste remonter le backup complet en WITH RECOVERY.


    J'insiste sur le fait qu'avant de faire tout ça, il faut assainir la partie matérielle. Ca ne sert à rien de restaurer une sauvegarde sur un sous-système IO qui bagotte. Tu peux peut-être te faire aider par un admin système ou stockage pour détecter une erreur système de ce côté-là
    David B.

  5. #5
    Membre régulier
    Malheureusement, le client n'a aucun Backup valide à me proposer.

    Nous avons essayé de restaurer un backup sur un autre serveur et l'erreur réapparaissait.

    Y-a-t-il une autre solution ?

    Errare Humanum Est ...

  6. #6
    Membre régulier
    Sinon, comment pourrais-je cibler la ou les lignes corrompues, pour pouvoir la ou les supprimer?

    Errare Humanum Est ...

  7. #7
    Modérateur

    Bonjour,

    Pas de sauvegarde, ça c'est nul.
    Imaginez que la pièce dans laquelle réside le serveur prenne feu ou soit inondée ... Au revoir la boîte !

    Je ne crois pas que supprimer une ligne résoudra le problème.
    La table Circulaires a-t-elle un index cluster ?

    Code :Sélectionner tout -Visualiser dans une fenêtre à part
    1
    2
    3
    4
    SELECT	*
    FROM	sys.sysindexes
    WHERE	id = OBJECT_ID('Circulaires')
    AND	indid = 1


    Cela vous retourne-t-il une ligne ?

    @++

  8. #8
    Membre régulier
    Bonjour,

    1 ligne retournée.

    @++
    Errare Humanum Est ...

  9. #9
    Rédacteur

    laquelle ?
    Cette signature n'a pas pu être affichée car elle comporte des erreurs.

  10. #10
    Membre régulier
    Désolé , la voici :

    Code :Sélectionner tout -Visualiser dans une fenêtre à part
    1
    2
     
    574885365	18450	0x684F00000100	1	0xAD5000000100	194	1	1	4109	10512	10508	150858	151	0	0	746	40	90	0	0	0x6F0800000100	0	0	0	0x2401240010000000000000000000000001000100000002000400010000000000	PK_Circulaires	0x0400000004DB1000909E0000244D020000000000244D020000000000E17ADE36E17ADE360000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000C8000000C8000000010000002000000000008041004913480000000000008041000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002300460069008C00AF00D200F50018013B015E018101A401C701EA010D023002530276029902BC02DF020203250348036B038E03B103D403F7031A043D0460048304A604C904EC040F053205550578059B05BE05E105040627064A066D069006B306D606F9061C073F0762078507A807CB07EE071108340857087A089D08C008E308060929094C096F099209B509D809FB091E0A410A640A870AAA0ACD0AF00A130B360B590B7C0B9F0BC20BE50B080C2B0C4E0C710C940CB70CDA0CFD0C200D430D660D890DAC0DCF0DF20D150E380E5B0E7E0EA10EC40EE70E0A0F2D0F500F730F960FB90FDC0FFF0F2210451068108B10AE10D110F41017113A115D118011A311C611E9110C122F12521275129812BB12DE120113241347136A138D13B013D313F61319143C145F148214A514C814EB140E153115541577159A15BD15E0150316261649166C168F16B216D516F8161B173E1761178417A717CA17ED1710183318561879189C18BF18E218051928194B196E199119B419D719FA191D1A401A631A861AA91ACC1AEF1A121B351B0000100020000000803F0000000000000000C35ABE3F29DB4643BBD30000FBB0D2EE040000100020000000803F008031440000803F8C17BEC2D4A89143B08001259D9424E6040000100020000000803F00C07F440000803F718F962AFA261840B7AE02DF3179BD7B040000100020000000803F0080FF430000803F0D34E6B149A67444B94303B28EEC546A040000100020000000803F00C07F440000803FF537F54311BB1941A9FE05659B936933040000100020000000803F00C03F440000803F56E86E5395866F4F92FC06BB37736C3A040000100020000000803F0080FF430000803FE1B7D90E4BD3254AB0C507937C50ECDC040000100020000000803F0080FF430000803F420681AF0F9A4B488E6F0873D2FFAC7E040000100020000000803F00C07F440000803FD02B339BED768C4E8D0E0A1781F45DEF040000100020000000803F00C07F440000803FE84744F720B4D642832B0BD7F4F2EA8D040000100020000000803F00C03F440000803FAF73E19A5CE5DF42AEAA0D287376AC99040000100020000000803F00C07F440000803F9B1C91A9FE4BF444BA280EDA97B0C064040000100020000000803F0080FF430000803FB6E657340ADE004E9D950FCF397F375B040000100020000000803F00C03F440000803FEA4E283B92050E45B7761120A6DC492B040000100020000000803F00C07F440000803F01DF2A1E48B4BF4AA7A512E17CCF3CFC040000100020000000803F00C03F440000803FD13E102EB290C64497C014265FCB5574040000100020000000803F0080FF430000803F450D35C0471E37478E0214FECCAB16B0040000100020000000803F0080FF430000803F67A5B0A113E698429E9E15D1A67F950D040000100020000000803F00C03F440000803F03E74B27A47B9C4097BD1714D98BC48F040000100020000000803F00C07F440000803F546A6D1A1A043542B7A418CE87CA77F9040000100020000000803F0080FF430000803FA5DCD2BD32C9D54CB2C619B141446287040000100020000000803F0080FF430000803FA7C8CC29882C784289F51A981A867B44040000100020000000803F0080FF430000803F3276A620C4B0A147856A1B6EF5141B51040000100020000000803F0080FF430000803F653711F599FF7141AFCB1C3AE0D32FA8040000100020000000803F0080FF430000803FA4D74FE4E2BC4C4789FC1D0639FA66B4040000100020000000803F00C03F440000803FE1191AB6F6CD7746BDF51E43364E23B7040000100020000000803F0080FF430000803F6B4E406E8E11534BAC451F180EB1695B040000100020000000803F00C03F440000803FCD2B670E0D587D4BBCF02078165A886D040000100020000000803F0080FF430000803FC388DC51C4D0A2478964214BE1639FD2040000100020000000803F00C03F440000803FFCF5DFC2D74178419C80229BA9D7983C040000100020000000803F0080FF430000803F883D8B6B4105844597EA23788FE018C1040000100020000000803F0080FF430000803F4BA653810136A74DB71C244CF8144A70040000100020000000803F00C07F440000803F34E87B0D49DEFD40A97A260C0631CEF6040000100020000000803F00C03F440000803FEA4F5E50EA495A4A9C7C27673F3C099E040000100020000000803F00C03F440000803FDA7E945C22DF0A4A84E828B1D7F435AA040000100020000000803F00C03F440000803FA18E2DA9287F1B418EB129FBCF233212040000100020000000803F00C03F440000803F646EC1A6E8891C42B7362B573FA8CA23040000100020000000803F00C03F440000803F31889C2E26181A42B80F2C965DD0618C040000100020000000803F00C03F440000803F2637E464B64C1D4488EE2DD3A49EFD2E040000100020000000803F00C03F440000803FF8FA0EBB8F6A294687372F17EA0350AF040000100020000000803F00C03F440000803F1193A3AC07ADE34BA5C4305BF65B1475040000100020000000803F00C03F440000803FA151D500D237AD4996FF31ADE781BE8E040000100020000000803F00C03F440000803F15F66EECF445CF448D603309AF32E2DA040000100020000000803F0080FF430000803F75641F79BE487449BC5B33E4484FA6AC040000100020000000803F00C07F440000803F4018CAB09A68854F9F44359A146E603F040000100020000000803F0080FF430000803FB96AC647D3EBD24AB363367CC4693FEE040000100020000000803F00C03F440000803FB6C3D862F66C5D43B5A937BF30A855CF040000100020000000803F0080FF430000803FC14BFB99F0DE6F419209388E389E22C0040000100020000000803F00C03F440000803F0359DA45809CEB4A9BB839DA823CE09B040000100020000000803F0080FF430000803FF6E42FE760682943B6663AB94937D365040000100020000000803F0080FF430000803FDABE56AD6EA2864DB1263B9AAB9EC1D7040000100020000000803F0080FF430000803F6F7342B7A3CED54B95DE3C7D7FE5080B040000100020000000803F0080FF430000803F707F179045B7BA4F91AC3D5806F50FF8040000100020000000803F00C03F440000803FDDC28AAE9A6BEA4EA7A23EB462FED4DA040000100020000000803F00C03F440000803FD99AF1BD2B44A944B5374011E9F5D215040000100020000000803F00C03F440000803F2B4F17B00A54D24694F6415FF9A1E6E9040000100020000000803F0080FF430000803FEAEFE08145B6344F86944246813E5628040000100020000000803F0080FF430000803F456DAAB004003347A68143258EF3F5F3040000100020000000803F0080FF430000803F644FF0D4D2A64A4DB8EA4401D484351E040000100020000000803F0080FF430000803FE8B559089EE0894E8A1444E7A5A10895040000100020000000803F0080FF430000803F22FD91C27B09B1459BFB45D18ABE17AC040000100020000000803F0080FF430000803FD1DC7DE565542D45B5C546BC84656E84040000100020000000803F00C03F440000803F705ED20DACC25C45BAC24816F1E39235040000100020000000803F0080FF430000803F6990BF4D66200E48848C48FC90770167040000100020000000803F0080FF430000803FA5D358000C946C418F7349E174AB6C96040000100020000000803F0080FF430000803F8BC70248ADFC374FA6574ABA72641AEB040000100020000000803F00C07F440000803F183102F9A445654389CD4C5EDC33AA30040000100020000000803F0080FF430000803FA635B3F0125D0049AACA4D4A3CA7E8F2040000100020000000803F0080FF430000803F0CB9F27186306C48A68D4E22185B9C38040000100020000000803F00C07F440000803F6E32097D8B228D419A4A4FF3E6391FA1040000100020000000803F0080FF430000803F90C70FA9BAFE4F42B73050C859AC45E1040000100020000000803F00C07F440000803F2C7AF65F235A234EBE2852A377760D41040000100020000000803F0080FF430000803F3F46AD33A591DD46A43D538F6C37B141040000100020000000803F0080FF430000803FCFA3ED3A7EF1724E91F354770CBE6164040000100020000000803F0080FF430000803F028699AE7D7CDB4290E25557FF2AC25A040000100020000000803F00C07F440000803F0CEA420D4950CF42B990573147E423E2040000100020000000803F00C07F440000803F81241AC23E02AA47855C58E3D7D72A17040000100020000000803F0080FF430000803FC3035F91FC8C5B43A93259D3FF2A97C9040000100020000000803F00C07F440000803F34ECC266112CC4419AD45B78D4D1CE87040000100020000000803F00C07F440000803FC56150D4E8309D45A1315D46E0806B2E040000100020000000803F00C07F440000803F888540D986035A4280E15EFE7F9374D9040000100020000000803F00C07F440000803F3537AB76B703804FA6C760C7DD0D8483040000100020000000803F00C07F440000803F72DDBB22E2789C418F8962755CD57A0A040000100020000000803F0080FF430000803F7F2B7DD5ACA3F94A9604635744E2D9CF040000100020000000803F00C07F440000803F233AF4753A56A244AE2C6507285C2AC7040000100020000000803F0080FF430000803F750814A499BB3C40A17265E9E70801E3040000100020000000803F00C07F440000803F22484A95A0F6BF49A3D3679D8D6A9BEA040000100020000000803F0080FF430000803F7B069BFDBFB18A4A9D9F687144BA2EDA040000100020000000803F0080FF430000803FBB5E1BC0EFC6AB48B6F36949986BB72C040000100020000000803F0080FF430000803FDE0CFDE1B75C934B89F86A27AB9FA5A6040000100020000000803F0080FF430000803F316200EBC3F5604FB3C16B0FE100854C040000100020000000803F0080FF430000803F2342C3AF05091F44B8626BF45D231FAD040000100020000000803F0080FF430000803FB7342C29B660104FB7716CC94174EC7F040000100020000000803F0080FF430000803FA0ABCFEB77BC7B4E9B886DA6D4A39874040000100020000000803F00C07F440000803F4A2AF75408899A4A93326F58FE5BC6A8040000100020000000803F0080FF430000803FA20877981C2FA3458A4B703444077970040000100020000000803F0080FF430000803F3483DC735BBD24499AD97111AB394ACA040000100020000000803F0080FF430000803F1F696CE9B9447E4A807A71E45FBD44E3040000100020000000803F00C07F440000803FDACEDBAFA0F0A542A7F77395DA67D67B040000100020000000803F0080FF430000803F8CFBB4BD10B4E04BA216746CD5384EE0040000100020000000803F00C07F440000803FD67CFBA5D7B9C540813A761E7D09EFB4040000100020000000803F0080FF430000803F47ED3AE3BC2768438D7076FE34E94282040000100020000000803F00C07F440000803F983648E3E1CEFE47BBEC78D327636A15040000100020000000803F0080FF430000803F5CE82A949D2CF94ABBA679ACF4412FDF040000100020000000803F0080FF430000803F6F12F9E51C3D5B4E8E607A779AE9E234040000100020000000803F00C07F440000803F88DACAF8B6C61C40A0F57C0FFCACF8FF040000100020000000803F0080FF430000803F93D71BC840F9FC48ADD77CFA98D7DB5A040000100020000000803F0080FF430000803F355DEF3076E37446A0767DD9D3E70C2E040000100020000000803F00C07F440000803F32371064D004F04B83277F9261FA1FD0040000100020000000803F00C07F440000803F7DA370D4228F044185F08141C9CB271C040000100020000000803F0080FF430000803F71426C256BAED94286498218A9204FFD040000100020000000803F0080FF430000803FDBE59E19F628A749BD7A82ED823720B2040000100020000000803F0080FF430000803F74A092891FD04F4EA45A83C0CF4E925F040000100020000000803F0080FF430000803F7BDCEF3054F891408ECB8497D0CF875C040000100020000000803F00C07F440000803F7C2FABE108A05448BA098665860B0F3E040000100020000000803F00C07F440000803F458550A86BF5D84A9710881C78254E3E040000100020000000803F00C07F440000803FB84ED6289B316542BAC189D33C487634040000100020000000803F0080FF430000803FA9FFF4BA0859E24FACD38ABCBF7CFC49040000100020000000803F0080FF430000803F312A73B2B3F6A545AFE88BA4538ADECD040000100020000000803F00C07F440000803FF6472BE23FC3054FA3F58D6629ADB326040000100020000000803F0080FF430000803F9A2022BB72AD7348A1B58E433BBFFC54040000100020000000803F0080FF430000803F2F632BD92B08D24183B58F1D7D59B46C040000100020000000803F0080FF430000803F06B32C16D2BD7748B24F900399FD7D0E040000100020000000803F0080FF430000803F9CD622066DB39243AD2390F6025780BB040000100020000000803F0080FF430000803F901E6DB35AD4A140A12D91DF51AA39F0040000100020000000803F00C07F440000803F0CB2D09CC12D24458B88938F71C7C43F040000100020000000803F0080FF430000803FDA4EA9EDFBEB9B459EBD946E0985325F040000100020000000803F0080FF430000803FD29AD4A0F5E46C4DB6D1954D51AD6430040000100020000000803F0080FF430000803F7FA0AE7A6E49AA43A8DC962DF6084911040000100020000000803F0080FF430000803F83D1A5A992B1C044A598971276CCD26E040000100020000000803F00C07F440000803FB4CCD345D91DFB40AA0898C6A357D267040000100020000000803F00C07F440000803F5DEDED034D9E1341B81E9A7E3285E492040000100020000000803F0080FF430000803F04D54AE9D6B7454A821A9B606E8B8D9C040000100020000000803F00C07F440000803F62F159FF0D98FE4393309D1D41BCB6A7040000100020000000803F0080FF430000803FF13EBA9AFF14E54E9B969DF820F8FB12040000100020000000803F00C07F440000803F77A0312BD4B09340985C9F9800674A0D040000100020000000803F0080FF430000803F68F6CAA9A2F9854490E5A07D6BB5DB62040000100020000000803F00C03F440000803FDAE963D4E764C949A263A1C2D33EDCD2040000100020000000803F00C03F440000803F5282942EE8A432468692A303A095B594040000100020000000803F00C03F440000803F83EE7C3EAAB3714A96D2A45CB5ED57FC040000100020000000803F00C03F440000803FC1BB9AA4FEB3474E8F36A5BC4E6F3EC4040000100020000000803F00C03F440000803FBD9D1C8427D75640ACA2A703BE59589B040000100020000000803F00C03F440000803FF26CA78707ACCA4784F0A852B549452E040000100020000000803F00C03F440000803F727C92D0B6391B49BBE4A98A58276AA4040000100020000000803F00C03F440000803F7DEE2B327D13D34DA7F4AAD71EE45A7A040000100020000000803F00C03F440000803FC76FE7C6295EE94BAFE5AC25E03DB4BA040000100020000000803F00C03F440000803FD7F464C5FAE8E542A7B7AD6A568FE9C4040000100020000000803F00C03F440000803FBC3A589B4A8C1F4BA76AAEAFA9A53253040000100020000000803F00C03F440000803F7C0F3BF1CE92904A9A97B00D35F402A6040000100020000000803F00C03F440000803FC33FB13EB2395A4CB154B160ECECCA4A040000100020000000803F00C03F440000803F87D38CD95013554A8C64B2AFBAF19F91040000100020000000803F00C03F440000803F31ED415901119C4DB1FFB3FCADAB523F040000100020000000803F00C03F440000803F5D5AE436A4D016499DB1B543A4A67BF3040000100020000000803F00C03F440000803FFC7D2559E336EF4F9740B688DBD8C73E040000100020000000803F00C03F440000803FBDA96D4471572E439A7CB7DFEE71FDC0040000100020000000803F00C03F440000803F85F8372C51560643BC05B9284BB60CEB040000100020000000803F00C03F440000803FE0E06AC7CDA04C44A8DCBA7B5F176C50040000100020000000803F00C03F440000803F3DF3B6974BAC514C8014BBD603996A0A040000100020000000803F00C03F440000803F1B859B0FD51401498E45BD253FC0B317040000100020000000803F00C03F440000803F6BD6CD267CE532429BB0BE7E583C008E040000100020000000803F00C03F440000803F96E0AA7627BEDA47BE70BFDDE5E72659040000100020000000803F00C03F440000803FF1A237F8ACBC2146BBD2C135358D91CF040000100020000000803F00C03F440000803FB7BA02418A5B714490DFC28FC83013B9040000100020000000803F00C07F440000803FFA950BB56A78E74DA212C44451EB8AAF040000100020000000803F00C07F440000803FE86153592D8B0A409D2AC5F42D2BCA5A040000100020000000803F00C07F440000803F6AACB4CFFF7C9648930FC7ABE1B8DC45040000100020000000803F00C07F440000803F3343F8E2AAF0354492D5C966BC9F69F1040000100020000000803F00C07F440000803F2C838B36E848BD468EABCB1BC53235A8040000100020000000803F00C07F440000803FD0B442C3FB84184B905CCCE233146C7E040000100020000000803F00C07F440000803FFC0E5D127EADF147A6DECEAC9872507A040000100020000000803F00C07F440000803FFB1505DEAABBF74E9B28D07D015A14EE040000100020000000803F00C07F440000803F31CD977FE2B8804DB533D242EDE02C22040000100020000000803F00C07F440000803FB95D3DD1C60455479440D3FBFDE44DB2040000100020000000803F00C07F440000803FA9973ADA81673D4BB403D5C99DF3000B040000100020000000803F00C07F440000803F54D9AF04E5DF634B82FAD7ABDD357F2D040000100020000000803F00C07F440000803FE68933E06B81084E948DD953A098AFA8040000100020000000803F00C07F440000803F6249074D2E024548B359DB096D126399040000100020000000803F00C07F440000803FBD43532722796A45944DDCD1F051F014040000100020000000803F00C07F440000803FB7AF1657DAD8384A8606DE9D33A55293040000100020000000803F00C07F440000803F0084C230A1B8D94683A7E06A1AB9B0D8040000100020000000803F00C07F440000803F3AEAEA404F739944B4F5E224A43BDB13040000100020000000803F00C07F440000803FC5A9495F09E9DB45BB9BE3EB557A8159040000100020000000803F00C07F440000803FEE779E540567CA4EB640E5C26CBFDBB3040000100020000000803F00C07F440000803F32B61C5E6C896847A8B4E78B0D501E29040000100020000000803F00C07F440000803FEA6913B718334F44AF05E94B673CB80E040000100020000000803F00C07F440000803F6F4F94E44AD03944A56DEB0F326308A1040000100020000000803F00C07F440000803F87325412D58AE6458E52ECC2FB13D277040000100020000000803F00C07F440000803FF5D553A2174DA249A856EE820A1CD2A6040000100020000000803F00C07F440000803F92B2A6EA341FDE4186B2F0385CE2A24F040000100020000000803F00C07F440000803F45112822341061409808F1ED28ECFB46040000100020000000803F00C07F440000803F225F1FA474FE5340A118F39DF2FC0199040000100020000000803F00C07F440000803F362F9C3B703B3746AC95F5651FC589FC040000100020000000803F00C07F440000803F33B0A9F88FDE364D8338F73425B669EA040000100020000000803F00C07F440000803FE41D13F05779CE4A8361F8E9A67CF622040000100020000000803F00C07F440000803F7BCEE08C3519E44C8B12FA9939B8B6D0040000100020000000803F00C07F440000803F420F7C2DD5DFD94A8664FC59ED4FD05C040000100020000000803F00C07F440000803FE48F5D42CFCF34418BC6FE274DEF9D0B040000100020000000803F00C07F440000803FBC482AFCB70D1D4F8849FFD1EDA4DD5E040000100020000000803F0000B4420000803F623F790B524A884584EFFFFF8EEBBF3F040000100020000000803F000000000000000054BB9EE8DF2C7B459D4FFFFFC11AF6B6040000	8000	150858


    Errare Humanum Est ...

  11. #11
    Membre éprouvé
    Sans backup et sur un forum c'est plutôt chaud.

    Si tu as un index cluster sur la table, on peut déterminer le range de données qui se trouvent dans la page (1:22988).

    1) Peux-tu nous renvoyer la définition de l'index cluster (ou de la clé primaire), quel est le type de la colonne (int, numeric identity,etc...)
    2) est-ce qu'un :

    Code :Sélectionner tout -Visualiser dans une fenêtre à part
    1
    2
    3
    4
    dbcc traceon(3604)
    GO
    dbcc page(<dbid de la base chantier>,1,22988,3) 
    GO


    retourne des lignes ou alors SQL Server indique-t-il une erreur ?

    1) Si le DBCC renvoie le contenu de la page, c'est probablement juste un problème de liaison entre 1:22987->1:22988->1:22989. Auquel cas, y a-t-il d'autres indexes non clusterisés sur cette table Circulaires ? (même requête que celle indiquée par elsuket mais avec indid > 1). En forçant une lecture de la table par un index NC, le bookmark lookup peut passer par dessus le chaînage entre 1:22987 et 1:22988 et retourner les lignes auquel cas on peut sortir la table par bcp. Celà dit j'en doute parce que la page semble avoir été zéro -initialisée (header=(0:0)).

    2) Si SQL Server renvoie une erreur et indique que la page ne peut pas être lue, la manoeuvre consiste à :
    i) Connaître la dernière valeur de PK ou d'index cluster contenue dans la page avant la page 1:22988, qui nous est donné par le dbcc checkdb (la page 1:22987):

    Code :Sélectionner tout -Visualiser dans une fenêtre à part
    1
    2
    3
    4
    create table #recover22987 (parentobject varchar(50), Object varchar(100), Field varchar(50), Value varchar(max))
    insert into #recover22987  exec ('dbcc page(<dbid>,1,22987,3) with tableresults')
     
    select value from #recover22987 where Field = '<colPK>' order by value


    -> chercher la valeur la plus grande.

    ii) Connaître la première valeur de PK ou d'index cluster contenue dans la page immédiatement après la page 1:22988 (=> 1:22989). La page (1:22930) est très probablement la page IAM pour cet index.

    Code :Sélectionner tout -Visualiser dans une fenêtre à part
    1
    2
    3
    4
    create table #recover22989 (parentobject varchar(50), Object varchar(100), Field varchar(50), Value varchar(max))
    insert into #recover22989  exec ('dbcc page(<dbid>,1,22989,3) with tableresults')
     
    select value from #recover22989 where Field = '<colPK>' order by value


    -> chercher la valeur la plus petite.

    Entre ces deux valeurs, on sait quelles données sont contenues dans la page qui pose problème et combien de lignes sont concernées.
    David B.

  12. #12
    Membre régulier
    Je ne vous le fais pas dire c'est HOT HOT !!!!!

    Alors voici le résultat :

    1) Peux-tu nous renvoyer la définition de l'index cluster (ou de la clé primaire), quel est le type de la colonne (int, numeric identity,etc...)
    nIdCirculaire uniqueidentifier


    est-ce qu'un :

    retourne des lignes ou alors SQL Server indique-t-il une erreur ?
    Code :Sélectionner tout -Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    Exécution de DBCC terminée. Si DBCC vous a adressé des messages d'erreur, contactez l'administrateur du système.
    Msg*8968, Niveau*16, État*1, Ligne*1
    Erreur de table : DBCC PAGE page (22988:3) (objet ID = 0, index ID = 0) est en dehors des limites de la base de données.
    Exécution de DBCC terminée. Si DBCC vous a adressé des messages d'erreur, contactez l'administrateur du système.



    Voici le résultat pour :


    2) Si SQL Server renvoie une erreur et indique que la page ne peut pas être lue, la manoeuvre consiste à :
    i) Connaître la dernière valeur de PK ou d'index cluster contenue dans la page avant la page 1:22988, qui nous est donné par le dbcc checkdb (la page 1:22987):

    -> chercher la valeur la plus grande.

    Code :Sélectionner tout -Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
     
    0504423e-4fc5-4c66-9625-a369af7edf0d
    091fb650-a40a-4e90-9798-a36d39b009c9
    115cc92f-ca93-4594-9bcc-a371f45769de
    19ad3d96-8fe1-4236-9195-a365f0e10d39
    1c179849-6079-441c-8562-a3695bdaf217
    21b6ecd0-fcfb-434b-bf25-a364e4fd818e
    24765759-80cd-4a46-bd7b-a363d2d54ea5
    24ad5fdb-58c1-4f6a-a9f8-a36deb174907
    2b170a4d-ed0f-4c56-af7b-a368c87d1235
    2c0d3054-703f-4280-92bf-a3721814b814
    30fa00f6-b945-47fa-9e75-a36e2c87758d
    4180dfa5-0860-4d1e-b8a0-a366ac93482d
    49b4bb13-f7b5-4504-a2a9-a36ce4c31750
    58daa60a-3d77-4881-a9f6-a365cbefbd35
    5d6339d4-fc86-4845-911d-a3660a189d08
    6483c29f-b071-49a9-9b8c-a36b02a15caa
    7207b741-04d8-4c06-9506-a36985650081
    880d5237-f039-42b4-b0d5-a364784c2416
    8af9d2a3-4924-4cd5-ade9-a374474d1882
    962a4d68-f128-455c-abca-a36da3513c56
    990b2625-028e-4a31-ac41-a36df7bd7306
    a6c15246-df3a-4143-853f-a37366e74d47
    b27c7eb2-c871-4354-8ee6-a36bc3367a3c
    b4890175-68e6-431e-b1a7-a37424bb2ff0
    b5876373-ccef-41e9-9bb3-a362d7ad84d7
    c8207cf4-a283-469b-bb08-a372d9e73a69
    c9a18974-28ce-4bd2-a47b-a3642eb32e1b
    cbbdb2ab-6faf-4809-9e5d-a36e4b2cf795
    d875ec9c-982a-416e-9d24-a3648da21e0b
    e170fdb5-26d6-40d5-b922-a36f1f702476
    e3686a44-96ba-41e7-895b-a368a3d44a1d
    e969648b-7346-4486-939d-a36d6d7883ad
    ea442f2c-968d-4826-8869-a36bdedcb63d
    f3f6e5bc-bc95-4189-a407-a36652676ec3
    f407e477-1032-40bf-9615-a36759ef1d9d
    fa62daa0-ef17-4d5f-9c60-a370a82178f1
    fbe265b9-c023-48ba-b1bc-a36b51506dd0



    Et voici le résultat pour :


    ii) Connaître la première valeur de PK ou d'index cluster contenue dans la page immédiatement après la page 1:22988 (=> 1:22989). La page (1:22930) est très probablement la page IAM pour cet index.

    -> chercher la valeur la plus petite.
    Code :Sélectionner tout -Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
     
    01e3f34b-7121-4cc3-bd5d-a3937f253d3c
    04530376-cec9-4dff-8a4a-a38ef308628f
    129c82ef-8a56-4798-a678-a39a7893da0c
    1711d960-2f64-4110-93fb-a38eb85b8a04
    1d99e484-0d48-4ea3-898d-a398bfc1b172
    246f9b32-da01-4b61-a085-a38bd9a03a38
    25ddb98e-7a28-4ee0-b74c-a395fdd07fe8
    296f2294-1c4e-424c-afcc-a39506f93048
    37e4a5ae-5541-45a8-9cdf-a3901ad15a1f
    389fb39b-b5fe-451c-b250-a392f111072d
    3d5b45b9-f33f-4c15-aa3f-a39aa2cdd34f
    3e3d8195-e1af-41fb-81fb-a390c647f517
    4642518d-340b-47b7-8e42-a390aaa2ecfb
    49018ba5-0db0-44ea-8303-a3914a3a46fa
    4c7754c6-2d24-46cd-81cd-a3914e300398
    59022fcc-611a-4db3-8b2d-a39a7d0072db
    67ff3daa-c246-4ad2-94e3-a39359beae5b
    72cc8ec1-703e-4a39-8c7d-a3905e65a4be
    72e5a8f9-fd42-486e-8423-a3949167b9a7
    73ed8f22-ed72-4a33-baba-a396aeab2cac
    790f7542-2793-49cc-b6ad-a390fa5247ab
    8074830c-31db-4392-8c5b-a39a12d5eac1
    80d46628-39eb-462c-a2ab-a399e4ab9beb
    8404da5f-4718-49cb-ae40-a390cc341fd4
    8415de00-a2fb-4a1d-9ff5-a38f47fca002
    8c4cd5d6-baa9-416e-933f-a38b32e7c3c5
    8fb4afd2-42b7-4657-b592-a39966364e55
    c15f1367-f579-4121-b173-a3933ca2648a
    c2659b4d-0585-411a-98fc-a38bf3aa4016
    c6d86225-e9c5-4b8d-975d-a3945eccd54e
    cb16a645-d6e0-421b-8f9b-a3978803ce24
    cead3755-3631-4672-b37e-a39a187a0701
    d49c20c9-154d-4ee6-809e-a3949a8b5774
    e5a10022-e4f7-4daf-b95f-a3961c59a4d9
    e9551f2f-fb14-44f3-9e1d-a395268677cf
    fce4aba5-a29c-4464-af1a-a3905b488984


    J'ai du mal à déterminer la plus grande valeur et la plus petite, ce sont des valeurs séparées par des "-" .
    Errare Humanum Est ...

  13. #13
    Modérateur

    Ben le problème c'est que uniqueidentifier n'est pas un type qu'on peut aggréger : ça me fait encore une bonne raison de ne jamais choisir ce type.

    Ne peut-on peut pas tenter de reconstruire l'index cluster ?

    @++

  14. #14
    Membre régulier
    J'ai pensé à ça justement ....

    Cliquez droit "Tout réorganiser" ou "Tout reconstruire".

    Je pense que ça peut marcher !!!!!!

    Qu'en pensez-vous ?
    Errare Humanum Est ...

  15. #15
    Modérateur

    J'aurai préféré un :

    Code :Sélectionner tout -Visualiser dans une fenêtre à part
    DBCC DBREINDEX ('Circulaires', 'nIdCirculaire')


    Pour reconstruire l'index.
    Attendons d'avoir l'avis de dbaffaleuf ou SQLPro.

    @++

  16. #16
    Membre régulier
    Citation Envoyé par elsuket Voir le message
    J'aurai préféré un :

    Code :Sélectionner tout -Visualiser dans une fenêtre à part
    DBCC DBREINDEX ('Circulaires', 'nIdCirculaire')


    Pour reconstruire l'index.
    Attendons d'avoir l'avis de dbaffaleuf ou SQLPro.

    @++
    Certainement.

    Merci pour vos conseils .
    Errare Humanum Est ...

  17. #17
    Membre régulier
    Citation Envoyé par elsuket Voir le message
    J'aurai préféré un :

    Code :Sélectionner tout -Visualiser dans une fenêtre à part
    DBCC DBREINDEX ('Circulaires', 'nIdCirculaire')


    Pour reconstruire l'index.
    Attendons d'avoir l'avis de dbaffaleuf ou SQLPro.

    @++

    J'ai exécuté cette requête et cette erreur apparaît :

    Code :Sélectionner tout -Visualiser dans une fenêtre à part
    1
    2
    3
     
    Msg*823, Niveau*24, État*2, Ligne*1
    I/O error (bad page ID) detected during read at offset 0x0000000b398000 in file 'C:\Datas\MSSQL\MSSQL$PARIS\LOG\chantier.mdf'.
    Errare Humanum Est ...

  18. #18
    Membre éprouvé
    C'est normal le reindex doit scanner toutes les pages de l'index et lorsqu'il tombe sur le chainage qui pose problème il sort en erreur. Il y a un moyen quand même de pouvoir classer les GUIDs dans les deux tables tempo. Dans la colonne Object de chaque table tempo, la sortie doit être du genre:

    Code :Sélectionner tout -Visualiser dans une fenêtre à part
    Slot # Column # Offset 0x# Length # Length (physical) #


    C'est la table d'offset de ligne qui gère l'ordre des lignes dans la page, le dbcc page() se base dessus pour renvoyer les slots dans l'ordre. Donc il suffit de prendre le dernier slot dans le résultat de la page 1:22987 et le premier (Slot 0) dans le résultat de la page 1:22989.

    Code :Sélectionner tout -Visualiser dans une fenêtre à part
    select Object, Value from #recover... where Field='nIdCirculaire


    Après il faudrait pouvoir sortir les données jusqu'au dernier GUID cité dans la page

    Code :Sélectionner tout -Visualiser dans une fenêtre à part
    1
    2
    3
    select * from Circulaires where nIdCirculaire <= <dernierGUID 1:22987>
    UNION
    select * from Circulaires where nIdCirculaire >= <premierGUID 1:22989>


    Si la page est au milieu, sur 150000 lignes on a une chance qu'il fasse un clustered index seek dans les deux cas. Ton select sur sysindexes nous indique qu'il y a en moyenne et si les stats sont à jour 12 lignes par page qui seraient perdues. Avantage si ça marche, on saura lesquelles.

    Si l'optimiseur choisit un clustered Index scan, il va ressortir une erreur 823 et là ça devient compliqué...
    David B.

  19. #19
    Membre éprouvé
    Citation Envoyé par Blacknounou Voir le message

    Code :Sélectionner tout -Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    Exécution de DBCC terminée. Si DBCC vous a adressé des messages d'erreur, contactez l'administrateur du système.
    Msg*8968, Niveau*16, État*1, Ligne*1
    Erreur de table : DBCC PAGE page (22988:3) (objet ID = 0, index ID = 0) est en dehors des limites de la base de données.
    Exécution de DBCC terminée. Si DBCC vous a adressé des messages d'erreur, contactez l'administrateur du système.
    Il y a un truc qui ne va pas dans la sortie du dbcc checkdb, j'ai l'impression qu'il a lu la page (22988:3), et non (1:22988), il doit manquer le dbid dans la commande. Je ne pense pas que ça change grand chose, mais si par exemple le dbid de la base chantier est le 6, la commande donne:

    Code :Sélectionner tout -Visualiser dans une fenêtre à part
    1
    2
    3
    4
    dbcc traceon(3604)
    GO
    dbcc page(6,1,22988,3)
    GO
    David B.

  20. #20
    Membre expert
    Si l'optimiseur choisit un clustered Index scan, il va ressortir une erreur 823 et là ça devient compliqué...
    Il suffit dans ce cas de forcer le SEEK?
    Prendre conscience, c'est transformer le voile qui recouvre la lumière en miroir.
    MCTS Database Development
    MCTS Database Administration

###raw>template_hook.ano_emploi###