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 :

Principe des transactions?


Sujet :

MS SQL Server

  1. #1
    Membre à l'essai
    Inscrit en
    Décembre 2006
    Messages
    23
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Décembre 2006
    Messages : 23
    Points : 17
    Points
    17
    Par défaut Principe des transactions?
    Bonjour,
    Je veut savoir que ce qu’il va ce passé si un bloque SQL(Begin transaction) ne ce termine ni avec un commit ni avec un rollback

  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 779
    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 779
    Points : 52 756
    Points
    52 756
    Billets dans le blog
    5
    Par défaut
    elle se terminera pas un rollback lors de le déconnexion de l'utilisateur. Mais suivant le niveau d'isolation choisit, les verrous posés sur les ressources seront plus ou moins maintenus.

    A +
    Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL
    Le site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/
    Blog SQL, SQL Server, SGBDR : http://blog.developpez.com/sqlpro
    Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp.
    Entreprise SQL SPOT : modélisation, conseils, audit, optimisation, formation...
    * * * * * Expertise SQL Server : http://mssqlserver.fr/ * * * * *

  3. #3
    Membre à l'essai
    Inscrit en
    Décembre 2006
    Messages
    23
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Décembre 2006
    Messages : 23
    Points : 17
    Points
    17
    Par défaut
    Citation Envoyé par SQLpro Voir le message
    elle se terminera pas un rollback lors de le déconnexion de l'utilisateur. Mais suivant le niveau d'isolation choisit, les verrous posés sur les ressources seront plus ou moins maintenus.

    A +
    Et si le serveur SQL ce fermé d'une façon anomalie un coupeur d'électricité par exemple que ce qu'il va ce passé?

  4. #4
    Membre éprouvé
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Août 2006
    Messages
    730
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2006
    Messages : 730
    Points : 923
    Points
    923
    Par défaut
    seul le commit rendra tes infos "validées".
    Si une coupure arrive avant le commit, tes données ne seront pas sauvegardées mais comme t'as dit SQLPro, certains verrous peuvent subsister sur des objets lorsque tu relanceras.
    j'ai pas sql serveur sous la main mais je crois que la table système est syslocks; tu peux regarder aussi sysprocesses qui te dira si un process en bloque un autre => cela arrive souvent quand tu as une appli qui a des interfaces utilisateurs et que l'un d'eux kille l'appli car il trouve que la mise a jour est trop longue => un verrou reste sur une table et les autres user ne peuvent plus y accéder en modification.
    Errare humanum est, perseverare diabolicum (Sénèque)

  5. #5
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    21 779
    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 779
    Points : 52 756
    Points
    52 756
    Billets dans le blog
    5
    Par défaut
    Et si le serveur SQL ce fermé d'une façon anomalie un coupeur d'électricité par exemple que ce qu'il va ce passé?
    Lors du redémarrage du serveur les transactions non encore finalisées vont l'être et ceci grâce au journal de transaction.

    A +
    Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL
    Le site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/
    Blog SQL, SQL Server, SGBDR : http://blog.developpez.com/sqlpro
    Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp.
    Entreprise SQL SPOT : modélisation, conseils, audit, optimisation, formation...
    * * * * * Expertise SQL Server : http://mssqlserver.fr/ * * * * *

  6. #6
    Membre éprouvé
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Août 2006
    Messages
    730
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2006
    Messages : 730
    Points : 923
    Points
    923
    Par défaut
    Lors du redémarrage du serveur les transactions non encore finalisées vont l'être et ceci grâce au journal de transaction
    çà c'est la théorie...
    Errare humanum est, perseverare diabolicum (Sénèque)

  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 779
    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 779
    Points : 52 756
    Points
    52 756
    Billets dans le blog
    5
    Par défaut
    C'est heureusement la stricte réalité !!!

    Je ne comprends pas votre remarque...

    Est-ce de l'humour ou de la méconnaissance ?

    A +
    Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL
    Le site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/
    Blog SQL, SQL Server, SGBDR : http://blog.developpez.com/sqlpro
    Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp.
    Entreprise SQL SPOT : modélisation, conseils, audit, optimisation, formation...
    * * * * * Expertise SQL Server : http://mssqlserver.fr/ * * * * *

  8. #8
    Membre à l'essai
    Inscrit en
    Décembre 2006
    Messages
    23
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Décembre 2006
    Messages : 23
    Points : 17
    Points
    17
    Par défaut
    Citation Envoyé par SQLpro Voir le message
    Lors du redémarrage du serveur les transactions non encore finalisées vont l'être et ceci grâce au journal de transaction.

    A +
    Je n'ai pas bien comparé ce que tu veux dire par les transactions pas encore finalisées vont être.
    Par exemple si je lance un grand transfert de donnée et au milieu de transfert le serveur ce bloque que ce qu'il va ce passé.
    Normalement avant que je lance le commit rien ne va ce changer a ma base de donnée

  9. #9
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    21 779
    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 779
    Points : 52 756
    Points
    52 756
    Billets dans le blog
    5
    Par défaut
    Ce n'est pas tout à fait comme cela que fonctionne les transactions, même si d'un point de vue externe on peut accepter la version que tu en donne.

    Néanmoins la finalisation d'une transaction, n'est ni plus ni moins que le report des données modifiées dans la base afin d'assurer l'intégrité de la base.
    Si un tel report n'a pas été finalisée, avant même que les utilisateurs ne puisse utiliser la base, celle-ci répercutera les modifications effectuées dans le journal au niveau des espaces de stockage de données.

    A +
    Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL
    Le site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/
    Blog SQL, SQL Server, SGBDR : http://blog.developpez.com/sqlpro
    Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp.
    Entreprise SQL SPOT : modélisation, conseils, audit, optimisation, formation...
    * * * * * Expertise SQL Server : http://mssqlserver.fr/ * * * * *

  10. #10
    Membre éprouvé
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Août 2006
    Messages
    730
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2006
    Messages : 730
    Points : 923
    Points
    923
    Par défaut
    C'est heureusement la stricte réalité !!!

    Je ne comprends pas votre remarque...

    Est-ce de l'humour ou de la méconnaissance ?
    Ce n'est ni l'un ni l'autre.
    Je ne parle pas de SQL2005 car je n'ai jamais eu le cas.
    En revanche, je n'ai jamais vu une base se restaurer ou redémarrer correctement après un plantus violent. Je parle de bases de prod, avec plus de 1000 tables, des ps des tr des jobs (dts ou autres) et qui sont attaquées par au moins une 50 d'users. Pourtant je fais de la base de données de 1986 (21 ans), j'ai commencé a Atlanta (USA) chez Sybase qui n'était alors qu'une petite filiale de Allied.... SQL serveur n'existait même pas...
    j'ai travaillé sur des bases SQL serveur (ou sybase) telles que le Washigton mesum Arts (a l'époque site pilote microsoft sous la version 6.5 NT4), Dupont de nemours (4500 serveurs), Air France, France télécom, Corte Ingles, ...
    Les DBA ont toujours restauré des backup...
    principaux dommages:
    Fichiers de transaction corrompus (le ctrl Z du fichier manquant)
    lock entre plusieurs threads
    taille du journal

    voila mon expérience sur le terrain
    Errare humanum est, perseverare diabolicum (Sénèque)

  11. #11
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    21 779
    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 779
    Points : 52 756
    Points
    52 756
    Billets dans le blog
    5
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Fichiers de transaction corrompus (le ctrl Z du fichier manquant)
    il faut savoir qu'aujourd'hui il n'y a plus de bug connu sous MS SQL Server capable d'endommager les structures de données.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    lock entre plusieurs threads
    Cela ne peut pas entraîner de dommage aux données, juste l'utilisateur est avertit que sa transaction est annulée et qu'il doit la repasser.

    de la même façon, même si le journal sature les transactions sont abandonnées et après avoir libéré de l'espace, le SGBD doit repartir.

    Cela dit il faut à la fois une architecture adéquate et les process d'admin qui suivent...

    A +
    Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL
    Le site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/
    Blog SQL, SQL Server, SGBDR : http://blog.developpez.com/sqlpro
    Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp.
    Entreprise SQL SPOT : modélisation, conseils, audit, optimisation, formation...
    * * * * * Expertise SQL Server : http://mssqlserver.fr/ * * * * *

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

Discussions similaires

  1. Apropos des Transactions au sein d'un Stored Procedure
    Par Sarbacane dans le forum Connexion aux bases de données
    Réponses: 6
    Dernier message: 16/11/2004, 08h21
  2. Automatisation de la purge du journal des transactions
    Par Nathan dans le forum MS SQL Server
    Réponses: 6
    Dernier message: 30/09/2004, 08h05
  3. Annuler des transactions
    Par sgire dans le forum ASP
    Réponses: 2
    Dernier message: 04/05/2004, 09h31
  4. vider le journal des transactions
    Par coucoucmoi dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 04/05/2004, 09h21
  5. gestion des transactions
    Par viny dans le forum Requêtes
    Réponses: 2
    Dernier message: 26/03/2004, 21h53

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