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

MS SQL Server Discussion :

[SQL 2000] Kill sur SPID qui veut pas


Sujet :

MS SQL Server

  1. #1
    Membre extrêmement actif
    Avatar de zooffy
    Homme Profil pro
    Chef de projet MOA
    Inscrit en
    Août 2004
    Messages
    3 895
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Chef de projet MOA
    Secteur : Bâtiment

    Informations forums :
    Inscription : Août 2004
    Messages : 3 895
    Points : 1 434
    Points
    1 434
    Par défaut [SQL 2000] Kill sur SPID qui veut pas
    Salut

    Je suis confronté à un souci que je n'ai pas l'habitude de traiter.
    J'ai des SPID sur mon serveur que je n'arrive pas à tuer.
    J4afais avec leEnterprise Manager "Terminer le processus", mais ils sont toujorus là.
    J'ai fait déconnecter tout le monde, mais ça n'a pas marché
    J'ai utiliser la comande KILL 119 (numéro par exemple) rien n'y fait.

    Je cherche donc le moyen de ture ces processus, je sais qu'ils ne servent à rien et je voudrias un truc qui ne fait pas dans la dentelle, ces processus sont véritablement mort et font que pénaliser le serveur.

    Merci pour votre aide.

  2. #2
    Membre chevronné

    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Août 2007
    Messages
    1 216
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Suisse

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Août 2007
    Messages : 1 216
    Points : 1 758
    Points
    1 758
    Par défaut
    Tu as pensé à faire un refresh de l'activité du serveur une fois que tu as fait un kill ?
    Ici, si je ne le fais pas, je continue à voir les process...

  3. #3
    Membre extrêmement actif
    Avatar de zooffy
    Homme Profil pro
    Chef de projet MOA
    Inscrit en
    Août 2004
    Messages
    3 895
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Chef de projet MOA
    Secteur : Bâtiment

    Informations forums :
    Inscription : Août 2004
    Messages : 3 895
    Points : 1 434
    Points
    1 434
    Par défaut
    Oui, j'ai fait ça, mais rien, ils sont toujours là.

  4. #4
    Membre éprouvé
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    1 056
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 1 056
    Points : 1 216
    Points
    1 216
    Par défaut
    il est possible que ces threads soient en rollback, il faut donc peut-être attendre que l'annulation de la transaction soit terminée.

    pour avoir la dernière commande lancée par un spid :
    dbcc inputbuffer(spid)
    go

    sinon, la commande sp_who vous permettra de voir leur état (awaiting command, insert, select, ...).

    il est également possible que ces spid soient bien supprimés mais recréés dans la foulée par le programme à l'origine. Il se peut que les même spid soient réutilisés.

  5. #5
    Membre extrêmement actif
    Avatar de zooffy
    Homme Profil pro
    Chef de projet MOA
    Inscrit en
    Août 2004
    Messages
    3 895
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Chef de projet MOA
    Secteur : Bâtiment

    Informations forums :
    Inscription : Août 2004
    Messages : 3 895
    Points : 1 434
    Points
    1 434
    Par défaut
    OK, merci pour ces infos.
    Effectiement ils sont tous en rollback, mais rien n'arrive à les supprimer. isl font des opérations qui ne devraient plus avoir cours.

    En fait, la violence a parlé et le chef a décidé de rebooter le serveur, donc plus de souci.

    Toutefois, je reste curieux de savoir comment on pourrait faire pour shotter ces SPID récalcitrant, si jamais le problème se reposait, le reboot ne me parait pas être une bonne solution, surtout pour un serveur de prod en WEB.

    Je n'arraive pas non plus a déterminer le programme qui lance ces SPID. Dans le cas qui m'a occupé hier, c'est une page ASP qui les a lancé, mais à partir du Serveur WEB je n'ai rien trouvé de persistant. De plus, la page en question à été interompue à chaque fois.

  6. #6
    Membre éprouvé
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    1 056
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 1 056
    Points : 1 216
    Points
    1 216
    Par défaut
    il faut attendre que les processus en rollback se terminent d'eux-même. Je suis même un peu étonné pour le reboot (vraiment extrême comme solution)
    car dans tous les cas, c'est SQL Server qui effectuera ce rollback lors de la récupération de la base à l'ouverture.
    En fait le vrai problème est de savoir pourquoi il y a ces rollback et pourquoi semblent-ils aussi longs (très souvent lié à la durée de la transaction avant le kill).

    pour connaître le host et qq infos utiles sur les threads, vous pouvez faire
    select spid, hostname, login, program_name, cmd, status from master.dbo.sysprocesses where spid=<le spid>

  7. #7
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    21 894
    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 894
    Points : 53 126
    Points
    53 126
    Billets dans le blog
    6
    Par défaut
    C'est vraiment pas une bonne idée que de rebooter un serveur SQL... Outre le risque de casse matérielle qui est maximal dans les phases de démarrage et d'arrêt, vous ne faites que reporter le problème car le Rollback va à nouveau être entrepris dès le redémarrage.
    Un rollback est bien souvent plus long que la finalisation d'un traitement.

    Comme on vous l'a dit, l'essentiel est de savoir pourquoi il y a des transactions qui sont énormes : COMMIT oublié, mauvaise stratégie de développement, niveau d'isoaltion incohérent sont autant de choses qui peuvent entraîner des transactions trop lourdes...

    A +

  8. #8
    Membre extrêmement actif
    Avatar de zooffy
    Homme Profil pro
    Chef de projet MOA
    Inscrit en
    Août 2004
    Messages
    3 895
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Chef de projet MOA
    Secteur : Bâtiment

    Informations forums :
    Inscription : Août 2004
    Messages : 3 895
    Points : 1 434
    Points
    1 434
    Par défaut
    Bon, je clorture car je n'ai toujorus pas trouvé pourquoi ça l'avais fait et vu que ça été rebooté, ben maintenant ça roule.

    Merci à tous

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Petit PL/SQL qui veut pas
    Par mederik dans le forum PL/SQL
    Réponses: 5
    Dernier message: 28/09/2011, 11h25
  2. [SQL] UPDATE qui veut pas updater ma base
    Par Weysan dans le forum PHP & Base de données
    Réponses: 7
    Dernier message: 16/08/2007, 18h44
  3. Petit problème d''info-bulle sur image qui veut pas se supprimer
    Par Machiavel dans le forum Balisage (X)HTML et validation W3C
    Réponses: 4
    Dernier message: 01/03/2007, 15h52
  4. ShellExecute qui veut pas faire son boulot...
    Par giloutho dans le forum API, COM et SDKs
    Réponses: 2
    Dernier message: 31/08/2005, 11h49
  5. java web start qui veut pas se lancer
    Par calvin dans le forum JWS
    Réponses: 4
    Dernier message: 30/06/2004, 11h42

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