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 :

Deux questions : une sur le ROLLBACK et l'autre sur un trigger


Sujet :

Administration SQL Server

  1. #1
    Membre habitué Avatar de olivtone
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Octobre 2010
    Messages
    242
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Eure et Loir (Centre)

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

    Informations forums :
    Inscription : Octobre 2010
    Messages : 242
    Points : 153
    Points
    153
    Par défaut Deux questions : une sur le ROLLBACK et l'autre sur un trigger
    Bonjour a Tous,

    je voulais savoir s'il est possible de :

    - Créer un trigger qui va insérer dans une table, permettant de tracer les logins supprimés d'une BDD (ca m'arrive tous les jours,toujours sur la meme BDD....)

    - Pour le rollback fait il grossir les logs ?

    Merci a vous et bonne journée

  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 716
    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 716
    Points : 52 380
    Points
    52 380
    Billets dans le blog
    4
    Par défaut
    1) oui, déclencheur DDL de niveau serveur sur ALTER ANY LOGIN (a tester)

    2) un ROLLBACK n'alimente pas le journal de transaction. Il ne grossit donc pas au ROLLBACK. En revanche, il empêche le vidage de la partie du journal qu'il faut lire pour récupérer les "images avant" des données.

    A +

    Et pour de plus amples informations, lisez notre livre :
    Nom : Couverture livre SQL server Eyrolles.jpg
Affichages : 187
Taille : 105,0 Ko
    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 habitué Avatar de olivtone
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Octobre 2010
    Messages
    242
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Eure et Loir (Centre)

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

    Informations forums :
    Inscription : Octobre 2010
    Messages : 242
    Points : 153
    Points
    153
    Par défaut
    merci Fred

    Par contre j'ai mal formulé ma deuxieme question desole

    Est ce que une transaction ouverte sur la BDD peut il faire grossir les logs ?

    Merci

  4. #4
    Expert éminent
    Avatar de StringBuilder
    Homme Profil pro
    Chef de projets
    Inscrit en
    Février 2010
    Messages
    4 144
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Chef de projets
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2010
    Messages : 4 144
    Points : 7 388
    Points
    7 388
    Billets dans le blog
    1
    Par défaut
    Oui, surtout si tu es en journalisation simple : le log va grossir jusqu'à ce que tu commit/rollback.

    Si tu es en journalisation complète, je pense que ça change rien que la transaction soit active ou non, puisque même une fois terminée elle reste dans le log.
    On ne jouit bien que de ce qu’on partage.

  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 716
    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 716
    Points : 52 380
    Points
    52 380
    Billets dans le blog
    4
    Par défaut
    Tant qu'il existe une transaction non finalisée (BEGIN TRABSACTION sans un COMMIT ou ROLLBACK), la purge du contenu du journal est impossible, car on ne sait pas comment la transaction va se finir.
    Si elle se finit en COMMIT, la partie du journal encore bloquée, va être libéré jusqu'à la plus vieille transaction encore active.
    Si elle se finit par un ROLLBACK, le journal est encore bloqué le temps de replacer les anciennes valeurs, puis le journal est libéré jusqu'à la plus vieille transaction encore active.

    Et ce quelque soit le mode de journalisation (RECOVERY MODEL).

    Pour connaître la plus vieille transaction encore ouverte vous pouvez lancer la commande DBCC OPENTRAN dans le contexte de la base.

    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
    Expert éminent
    Avatar de StringBuilder
    Homme Profil pro
    Chef de projets
    Inscrit en
    Février 2010
    Messages
    4 144
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Chef de projets
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2010
    Messages : 4 144
    Points : 7 388
    Points
    7 388
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par SQLpro Voir le message
    Et ce quelque soit le mode de journalisation (RECOVERY MODEL).
    Quand on est en mode FULL la transaction ne reste pas dans le log une fois terminée ?

    Pourquoi le log grossit-il alors constamment ?

    De ce que j'avais compris, en SIMPLE : c'est ce que tu as expliqué

    En FULL : c'est pareil sauf qu'une fois la transaction terminée rien n'est purgé, mais simplement flagué, et purgé effectivement une fois que toutes les transactions "terminées" ont été backupées lors d'un backup du log.

    Non ?
    On ne jouit bien que de ce qu’on partage.

  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 716
    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 716
    Points : 52 380
    Points
    52 380
    Billets dans le blog
    4
    Par défaut
    Je parlais de la "libération" des transaction et non de la purge...

    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 habitué Avatar de olivtone
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Octobre 2010
    Messages
    242
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Eure et Loir (Centre)

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

    Informations forums :
    Inscription : Octobre 2010
    Messages : 242
    Points : 153
    Points
    153
    Par défaut
    Ok c'est plus clair pour moi, merci a vous deux

Discussions similaires

  1. Deux question sur l'insertion et le calcul dans une BDD
    Par tetanos34 dans le forum Langage SQL
    Réponses: 2
    Dernier message: 28/04/2016, 02h31
  2. Réponses: 1
    Dernier message: 03/12/2013, 11h08
  3. Réponses: 0
    Dernier message: 12/07/2012, 16h30
  4. une ou deux question sur this ..
    Par Invité dans le forum Débuter
    Réponses: 4
    Dernier message: 24/01/2010, 11h35
  5. [Together] Deux questions sur Borland Together UML
    Par srvremi dans le forum Autres
    Réponses: 4
    Dernier message: 02/11/2005, 10h32

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