IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
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 :

Une partie de DB en mirroring bascule. Comment savoir pourquoi ?


Sujet :

Administration SQL Server

  1. #1
    Expert confirmé
    Avatar de Kropernic
    Homme Profil pro
    Analyste / Programmeur / DBA
    Inscrit en
    Juillet 2006
    Messages
    3 932
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Belgique

    Informations professionnelles :
    Activité : Analyste / Programmeur / DBA
    Secteur : Distribution

    Informations forums :
    Inscription : Juillet 2006
    Messages : 3 932
    Points : 4 242
    Points
    4 242
    Par défaut Une partie de DB en mirroring bascule. Comment savoir pourquoi ?
    Hello,

    Pour la question, tout est dans le titre. J'ai déjà jeté un oeil dans les logs de l'instance SQL mais je ne trouve rien d'explicite. Au mieux, j'ai ceci :
    Citation Envoyé par log sql server
    09/22/2014 02:54:25,spid47s,Unknown,Database mirroring is inactive for database 'company'. This is an informational message only. No user action is required.
    09/22/2014 02:54:13,spid4s,Unknown,SQL Server has encountered 761 occurrence(s) of I/O requests taking longer than 15 seconds to complete on file [D:\MSSQLSERVER\MSSQL10_50.MSSQLSERVER\MSSQL\DATA\tempdb.mdf] in database [tempdb] (2). The OS file handle is 0x00000000000004BC. The offset of the latest long I/O is: 0x00000114e30000
    09/22/2014 01:01:54,spid69,Unknown,DBCC CHECKDB (SALESREPORTS) WITH all_errormsgs<c/> data_purity executed by KAUFHOF\svc32_sql found 0 errors and repaired 0 errors. Elapsed time: 0 hours 0 minutes 0 seconds. Internal database snapshot has split point LSN = 00000e22:00000091:0001 and first LSN = 00000e20:00000079:0024.
    Où on voit un DBCC CHECKCD qui se passe apparemment sans problème, puis un truc dont j'ignore de quoi il s'agit et en suite, un truc qui parle du mirroring (j'ai la même pour 4 DB différentes).

    Et pendant que j'écris, je réalie que c'est en fait le DBCC CHECKDB qui n'a pas pu se faire du au fait que la DB en question avait basculée et vu qu'elle était en restoring, forcément pas moyen de faire l'opération demandée.

    Je cherche donc à savoir quand et pourquoi ces DB's auraient basculées. Une idée de où/comment chercher ?

  2. #2
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    21 897
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Expert bases de données / SQL / MS SQL Server / Postgresql
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2002
    Messages : 21 897
    Points : 53 135
    Points
    53 135
    Billets dans le blog
    6
    Par défaut
    SQL Server has encountered 761 occurrence(s) of I/O requests taking longer than 15 seconds to complete on file
    ça c'est typique d'un problème de latence de disque.... Si tu es sur un SAN qui utilise le même réseau il est probable que l'encombrement du réseau ait jouée sur la rapidité de réponse dudit réseau et provoqué le basculement ceci dans une solution de mirroring synchrone !

    A +

  3. #3
    Expert confirmé
    Avatar de Kropernic
    Homme Profil pro
    Analyste / Programmeur / DBA
    Inscrit en
    Juillet 2006
    Messages
    3 932
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Belgique

    Informations professionnelles :
    Activité : Analyste / Programmeur / DBA
    Secteur : Distribution

    Informations forums :
    Inscription : Juillet 2006
    Messages : 3 932
    Points : 4 242
    Points
    4 242
    Par défaut
    Euh bah non. Le serveur a ses propres disques bien à lui.

    Mais bon, avec des IO qui mettent aussi longtemps, j'imagine que le problème vient quand même du disque.

    Je vais demander à l'équipe hardware s'il y a moyen de faire un diagnostique des disques.

  4. #4
    Membre éprouvé
    Profil pro
    Inscrit en
    Février 2008
    Messages
    758
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 758
    Points : 1 069
    Points
    1 069
    Par défaut
    Merci de poster l'ERRORLOG complet.

  5. #5
    Expert confirmé
    Avatar de Kropernic
    Homme Profil pro
    Analyste / Programmeur / DBA
    Inscrit en
    Juillet 2006
    Messages
    3 932
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Belgique

    Informations professionnelles :
    Activité : Analyste / Programmeur / DBA
    Secteur : Distribution

    Informations forums :
    Inscription : Juillet 2006
    Messages : 3 932
    Points : 4 242
    Points
    4 242
    Par défaut
    Citation Envoyé par dbaffaleuf Voir le message
    Merci de poster l'ERRORLOG complet.
    Le voilà en pièce jointe.

    Pour info, les bases ont forcément du basculer soit tard hier soir, soit tôt ce matin.

    Sinon j'aurai eu plus de jobs en erreur.
    Fichiers attachés Fichiers attachés
    • Type de fichier : rar log.rar (140,6 Ko, 48 affichages)

  6. #6
    Expert éminent sénior
    Avatar de mikedavem
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Août 2005
    Messages
    5 450
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Distribution

    Informations forums :
    Inscription : Août 2005
    Messages : 5 450
    Points : 12 891
    Points
    12 891
    Par défaut
    09/22/2014 02:54:25,spid47s,Unknown,Database mirroring is inactive for database 'company'. This is an informational message only. No user action is required.
    09/22/2014 02:54:13,spid4s,Unknown,SQL Server has encountered 761 occurrence(s) of I/O requests taking longer than 15 seconds to complete on file [D:\MSSQLSERVER\MSSQL10_50.MSSQLSERVER\MSSQL\DATA\tempdb.mdf] in database [tempdb] (2). The OS file handle is 0x00000000000004BC. The offset of the latest long I/O is: 0x00000114e30000
    Visiblement le problème viendrait à ce moment ... A peu près 10 secondes entre l'enregistrement des I/O qui prennent plus de 15 secondes et la détection du problème au niveau du miroir (temps du timeout). Est-ce lié ? Probablement mais rien de bien spécifique dans le journal. Tu n'aurais pas les logs de l'autre serveur également (celui devenu principal à ce moment là)? As-tu regardé également au niveau du journal d'événement Windows à la même heure pour un complément d'information ?

    Le problème des longues I/O peut être en effet bien souvent lié au stockage mais pas forcément à tous les coups. Un autre problème classique est l'exécution d'un antivirus .. mais si cela t'arrive fréquemment il faudra investiguer plus loin.

    ++

  7. #7
    Expert confirmé
    Avatar de Kropernic
    Homme Profil pro
    Analyste / Programmeur / DBA
    Inscrit en
    Juillet 2006
    Messages
    3 932
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Belgique

    Informations professionnelles :
    Activité : Analyste / Programmeur / DBA
    Secteur : Distribution

    Informations forums :
    Inscription : Juillet 2006
    Messages : 3 932
    Points : 4 242
    Points
    4 242
    Par défaut
    Voici le log du serveur devenu principal à ce moment-là.

    Aller voir dans les journaux d’événements windows est la première chose que j'ai faite mais je n'ai rien trouvé de particulier (mis à part les entrées qui sont déjà reprises dans le log de sql serveur).

    Je ne pense pas qu'il y ait un antivirus sur ce serveur mais je vais demander.

    C'est la première fois que ce problème survient. Je vais garder ça à l'oeil et croiser les doigts pour que ce soit anecdotique.
    Fichiers attachés Fichiers attachés

  8. #8
    Expert éminent sénior
    Avatar de mikedavem
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Août 2005
    Messages
    5 450
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Distribution

    Informations forums :
    Inscription : Août 2005
    Messages : 5 450
    Points : 12 891
    Points
    12 891
    Par défaut
    09/22/2014 02:54:22,spid53s,Unknown,The mirroring connection to "TCP://xxxxx:7022" has timed out for database "DocumentsEvolution" after 10 seconds without a response. Check the service and network connections.
    09/22/2014 02:54:22,spid53s,Unknown,Error: 1479<c/> Severity: 16<c/> State: 1.
    09/22/2014 02:54:22,spid59s,Unknown,The mirroring connection to "TCP://xxxxx:7022" has timed out for database "Tickets" after 10 seconds without a response. Check the service and network connections.
    09/22/2014 02:54:22,spid59s,Unknown,Error: 1479<c/> Severity: 16<c/> State: 1.
    Ok donc on retrouve bien notre fameux timeout de 10s l'autre côté et un basculement automatique ...

    Sans plus d'information je serais tenté de dire que le problème d'IO semble être le déclencheur ici (longues I/O sur tempdb) ... on pourrait supposer que le serveur SQL à ce moment là ne répondait plus correctement aux pings du miroir ce qui a fait basculer tes sessions en miroir. Il ne reste plus qu'à trouver pourquoi les IO sont devenues subitement longues à cette heure-ci sur ce serveur.

    ++

  9. #9
    Membre éprouvé
    Profil pro
    Inscrit en
    Février 2008
    Messages
    758
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 758
    Points : 1 069
    Points
    1 069
    Par défaut
    Et 10 secondes de timeout par défaut avec un witness c'est juste s'exposer à des bascules intempestives comme c'est la cas ici. Je pense qu'il vaut mieux mettre une valeur qui indique une déconnexion franche comme 40 secondes ou 1 minute. Ça ne changera pas grand chose sur ton délai de réaction...

  10. #10
    Expert confirmé
    Avatar de Kropernic
    Homme Profil pro
    Analyste / Programmeur / DBA
    Inscrit en
    Juillet 2006
    Messages
    3 932
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Belgique

    Informations professionnelles :
    Activité : Analyste / Programmeur / DBA
    Secteur : Distribution

    Informations forums :
    Inscription : Juillet 2006
    Messages : 3 932
    Points : 4 242
    Points
    4 242
    Par défaut
    A mon avis, ça doit être le timeout par défaut.

    Je ne savais meme pas qu'on pouvait le changer. J'ai mis le mirroring en place il y a 2 ans puis je n'ai plus jamais eu à y toucher.

    Je vais regarder comment faire ce changement. C'est vrai que c'est une bonne chose en soi.

    Sinon, apparemment, le problème viendrait du fait que la batterie du controleur raid était déchargée et qu'il a du faire je sais pas quoi à cause de ça. Ce qui a fait que les disques ne répondaient plus.
    C'est quand même bizarre cette affaire. Je ne vais pas lacher l'équipe système jusqu'à savoir le pourquoi du comment.

  11. #11
    Membre éprouvé
    Profil pro
    Inscrit en
    Février 2008
    Messages
    758
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 758
    Points : 1 069
    Points
    1 069
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    ALTER DATABASE <mabase> SET PARTNER TIMEOUT 40;
    GO
    Et pour la batterie, elle alimente le cache. Si elle tombe en rade, le cache ne doit plus être accessible, et tout est descendu sur les disques, donc en direct sur un bon gros RAID à parité (je suppose)

  12. #12
    Expert confirmé
    Avatar de Kropernic
    Homme Profil pro
    Analyste / Programmeur / DBA
    Inscrit en
    Juillet 2006
    Messages
    3 932
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Belgique

    Informations professionnelles :
    Activité : Analyste / Programmeur / DBA
    Secteur : Distribution

    Informations forums :
    Inscription : Juillet 2006
    Messages : 3 932
    Points : 4 242
    Points
    4 242
    Par défaut
    Merci pour le timeout. Ca m'a évité la (possiblement longue) recherche.

    C'est paramétré.

    Sinon pour ce qui de la batterie et de la fonction, je n'en ai malheureusement aucune idée . Mais si tu le dis, je veux bien te croire.

    Vais maintenant aller les voir pour comprendre pourquoi cette batterie tombe en rade comme ça.

  13. #13
    Membre éprouvé
    Profil pro
    Inscrit en
    Février 2008
    Messages
    758
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 758
    Points : 1 069
    Points
    1 069
    Par défaut
    Ce n'est pas anormal qu'elle tombe en rade, mais sur la plupart des baies il y a des alertes lorsque le niveau de charge de la batterie ou son obsolescence devient critique. La question c'est plutôt :

    1 - La baie a-t-elle remonté les alertes ?
    2 - Si oui pourquoi n'ont-elles pas été vues ?

  14. #14
    Expert confirmé
    Avatar de Kropernic
    Homme Profil pro
    Analyste / Programmeur / DBA
    Inscrit en
    Juillet 2006
    Messages
    3 932
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Belgique

    Informations professionnelles :
    Activité : Analyste / Programmeur / DBA
    Secteur : Distribution

    Informations forums :
    Inscription : Juillet 2006
    Messages : 3 932
    Points : 4 242
    Points
    4 242
    Par défaut
    Apparemment (ie d'après ce qu'on m'a dit), la batterie remonte effectivement des alertes dans les journaux d’événements windows et ce ne serait pas la première fois que ça arrive mais c'est la première fois que cela provoque un basculement des db's.

    Toujours apparemment, c'est un batterie qui se recharge de manière automatique. Il ne faudrait donc pas la remplacer (du moins pas encore).

    Maintenant quant au pourquoi elles n'ont pas été vues, ce n'est pas moi qui gère le hardware mais je ne crois pas qu'il y a quelque chose qui va chercher automatiquement dans les journaux d'événements les alertes de ce genre.

  15. #15
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    21 897
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Expert bases de données / SQL / MS SQL Server / Postgresql
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2002
    Messages : 21 897
    Points : 53 135
    Points
    53 135
    Billets dans le blog
    6
    Par défaut
    Visiblement les gens systèmes sont assez nullissime chez vous car lorsque l'on utilise un cache en écriture avec un SGBDR on s'assure par tous les moyens que la batterie fonctionne.
    Il faut donc impérativement générer une alerte par mail ou SMS en cas de problème à ce niveau et que le responsable de la maintenance intervienne au plus tôt.

    Sinon, désactiver le cache en écriture.

    En cas de défaut majeur, la base peut devenir irrécupérable !

    A +

Discussions similaires

  1. Apache se ferme, comment savoir pourquoi ?
    Par morgan47 dans le forum Apache
    Réponses: 1
    Dernier message: 28/01/2010, 07h33
  2. Réponses: 9
    Dernier message: 26/04/2007, 11h09
  3. Comment lire une partie du son *.wav
    Par ryosaebafr2000 dans le forum MFC
    Réponses: 5
    Dernier message: 08/06/2005, 16h00
  4. Picklist: comment recuperer une partie de la valeur
    Par mesquest dans le forum Bases de données
    Réponses: 3
    Dernier message: 07/06/2004, 08h54
  5. comment remplacer une partie de texte dans un champs
    Par patlapi dans le forum Paradox
    Réponses: 4
    Dernier message: 20/11/2003, 14h38

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo