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 :

LDF et audit trail


Sujet :

Administration SQL Server

  1. #1
    Membre habitué Avatar de ariesnojf
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    195
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 195
    Points : 188
    Points
    188
    Par défaut LDF et audit trail
    Bonjour à tous,

    On a actuellement une DB, mise en production depuis peu, et comportant une cinquantaine de tables pour lesquelles systématiquement, le développeur a mis en place un audit trail de toutes les transactions sur ces tables via triggers, et qui alimente deux tables (dans cette même db). La plus grosse table ayant environ 9 millions d'enregistrements au bout d'une semaine.
    Le fichier physique de données pèse 4 Go, et le fichier de transaction peut monter jusqu'à 15 Go. La sauvegarde transactionnelle peut peser autant, et cette sauvegarde à lieu toutes les heures ...

    Question :
    Est ce gênant qu'un fichier de transaction puisse peser 3 fois plus que le fichier de données ? (j'ai cru comprendre que la règle est 30%
    du fichier de données)
    J'imagine que si le fichier augmente, cela est dû aux triggers de chaque table, y-a-t-il une option pour que le ficher de transaction n'enregistre pas les transactions liés aux triggers ? (heu, est-ce une bonne idée ? )
    Peut-on ou doit-on ajouter un autre fichier de transaction ou dois je laisser comme cela ?

    D'une façon plus générale, je ne sais pas s'il faut laisser cela tel quel, ou faut-il faire quelque chose ?

    Pourriez vous m'éclairer,

    Merci d'avance.

  2. #2
    Membre habitué
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Octobre 2013
    Messages
    74
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

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

    Informations forums :
    Inscription : Octobre 2013
    Messages : 74
    Points : 160
    Points
    160
    Par défaut
    Bonjour,

    si votre base est en mode de recouvrement Complet, toutes les transactions seront nécessairement conservées dans le fichier de journaux transactionnels jusqu'à ce qu'une sauvegarde des journaux soit lancée.
    Si par contre elle est en mode de recouvrement Simple, elles seront recyclées très rapidement. Votre fichier de journaux de transactionnels n'atteindra donc a priori jamais une telle volumétrie.
    A ma connaissance, il n'est pas possible avec SQL Server de désactiver la gestion transactionnelle pour un objet en particulier.

    Donc avec le mécanisme actuel, à moins de passer votre base en mode de recouvrement Simple, vous êtes condamné à lancer le plus souvent possible des sauvegardes du journal de transactions. A noter qu'à partir de la version 2008R2, vous avez la possibilité de compresser les sauvegardes de bases et de transactions, pour un gain de place souvent significatif.

    Il n'y a rien de gênant à ce qu'un journal de transaction soit plus volumineux que la partie données d'une base. Lorsque l'on évoque le ration 1/3, c'est principalement par constat. Vous avez la possibilité d'ajouter un ou plusieurs fichiers à journal de transactions si besoin.

    L'audit est-il mis en place à partir du mécanisme Change Tracking ?
    Si votre développeur est prêt à faire évoluer son modèle, il peut être intéressant de jeter un coup d'oeil à Change Data Capture, plus souple, moins intrusif, et moins consommateur sur la partie journal de transaction.


    Cordialement.

  3. #3
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par ariesnojf Voir le message
    Est ce gênant qu'un fichier de transaction puisse peser 3 fois plus que le fichier de données ? (j'ai cru comprendre que la règle est 30% du fichier de données)
    Je ne sais pas d'où sort cette « règle » des 30 % mais c'est totalement idiot dans le monde réel.
    Ce rapport dépend de l'activité de la base de données : j'ai une bd qui fait beaucoup de transactions à courte durée. Résultat : j'ai un fichier de log qui fait trois fois celui du fichier de data.
    À l'inverse, j'ai des bds peu actives avec un fichier de log de 5 Mo pour un datafile de 15 Go.
    Je ne me pose pas vraiment la question de savoir si ça rentre dans une norme ou pas, c'est le fonctionnement de la bd qui va dicter le rapport fichier log / fichier data POINT !

    Autre question, pourquoi un audit de toutes les tables sur votre bd de prod ?
    Vous n'avez aucune confiance dans votre application ?
    Je comprends l'intérêt potentiel en DEV mais en PROD, ça me semble beaucoup plus discutable.

  4. #4
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    21 927
    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 927
    Points : 51 735
    Points
    51 735
    Billets dans le blog
    6
    Par défaut
    Citation Envoyé par ariesnojf Voir le message
    Bonjour à tous,

    On a actuellement une DB, mise en production depuis peu, et comportant une cinquantaine de tables pour lesquelles systématiquement, le développeur a mis en place un audit trail de toutes les transactions sur ces tables via triggers, ...
    Pourquoi faire, mal ce qui est fait bien en standard ?
    SQL Server dispose de différents moyens d'audit nettement moins gourmands :
    1) Database Audit pour la sécurité (version Enterprise)
    2) Change Tracking (version Standard) pour le changement
    3) Change Data Capture (version Enterprise) pour le changement

    A +

  5. #5
    Membre habitué Avatar de ariesnojf
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    195
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 195
    Points : 188
    Points
    188
    Par défaut
    Bonjour à tous,

    Merci de prendre du temps à mon sujet.

    Citation Envoyé par 7gyY9w1ZY6ySRgPeaefZ Voir le message
    Autre question, pourquoi un audit de toutes les tables sur votre bd de prod ?
    Vous n'avez aucune confiance dans votre application ?
    C'est une application dans le milieu médical et dont les données sont sensibles, et toutes données doivent être auditées, à savoir qui fait quoi et quand. Le fait d'avoir confiance sur l'application ou pas dépend du développeur, moi mon soucis est plutôt sur les performances et tailles que cette base peut générer, pour ne pas perturber les autres DB du serveur.


    Citation Envoyé par SQLpro Voir le message
    Pourquoi faire, mal ce qui est fait bien en standard ?
    SQL Server dispose de différents moyens d'audit nettement moins gourmands :
    1) Database Audit pour la sécurité (version Enterprise)
    2) Change Tracking (version Standard) pour le changement
    3) Change Data Capture (version Enterprise) pour le changement

    A +
    Comme mentionné par bvesan & SQLpro, je vais proposer différents moyens d'audit SQL (j'avoue n'avoir pas penser à cela ...).

    Merci à vous.

  6. #6
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    21 927
    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 927
    Points : 51 735
    Points
    51 735
    Billets dans le blog
    6
    Par défaut
    Et si vous en voulez plus, il y a aussi :
    l'audit C2 (voir sp_configure)
    SOX via : http://www.microsoft.com/downloads/d...displaylang=en

    A +

Discussions similaires

  1. Audit Trail sur Base Access 2007
    Par cjacquel dans le forum Access
    Réponses: 1
    Dernier message: 06/08/2007, 15h22
  2. Audit trail et Access
    Par cjacquel dans le forum Access
    Réponses: 1
    Dernier message: 17/05/2007, 22h04
  3. Oracle 9: Trigger pour audit trail
    Par ChrisD dans le forum Oracle
    Réponses: 7
    Dernier message: 18/01/2006, 15h28
  4. Réponses: 4
    Dernier message: 21/11/2005, 13h04
  5. oracle 9i linux audit-trail
    Par mela dans le forum Administration
    Réponses: 2
    Dernier message: 04/08/2004, 23h42

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