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

Développement SQL Server Discussion :

Dernier accès en écriture pour une table (Insert/Update et Delete)


Sujet :

Développement SQL Server

  1. #1
    Membre actif
    Homme Profil pro
    Directeur des systèmes d'information
    Inscrit en
    Avril 2006
    Messages
    141
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Directeur des systèmes d'information
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2006
    Messages : 141
    Points : 210
    Points
    210
    Par défaut Dernier accès en écriture pour une table (Insert/Update et Delete)
    Bonjour,

    Je cherche à récupérer pour l'ensemble des tables d'une base de données les dates de dernière modification de la table (pas sa structure, mais sont contenu)

    J'ai trouvé cette requette mais elle ne le fait que sur les structure.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    USE <database_name>;
    GO
    SELECT name AS object_name 
      ,SCHEMA_NAME(schema_id) AS schema_name
      ,type_desc
      ,create_date
      ,modify_date
    FROM sys.objects
    WHERE modify_date > GETDATE() - <n_days>
    ORDER BY modify_date;
    Est ce que vous voyez un moyen d'avoir la liste des tables avec la dernière date de modification (Insert/Update/Delete) de cette table ?
    Merci d'avance.
    DSI et développeur du logiciel Lulidb
    http://www.lulidb.com - outils de gestion de base de données orienté développer.

  2. #2
    Membre actif
    Homme Profil pro
    Directeur des systèmes d'information
    Inscrit en
    Avril 2006
    Messages
    141
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Directeur des systèmes d'information
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2006
    Messages : 141
    Points : 210
    Points
    210
    Par défaut
    Je pense avoir trouvé ma requette.

    est ce que des experts peuvent me confirmer que c'est bon ?
    apparemment si une requette de modification est lancée sur un table le last_user_update est modifié, même si la requette n'a rien modifier, mais sa me filtre déjà pas mal de table.


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    SELECT  DB_NAME (c.database_id) as DatabaseName,OBJECT_NAME(c.object_id, c.database_id) AS TableName ,  i.name as IndexName ,  c.index_id ,c.last_user_update, *
    FROM    sys.dm_db_index_usage_stats AS c
            LEFT OUTER JOIN sys.indexes AS i ON i.object_id = c.object_id
                                                AND i.index_id = c.index_id
    Where c.last_user_update is not null and DB_NAME (c.database_id) = '@{DATABASE_NAME}@'
    DSI et développeur du logiciel Lulidb
    http://www.lulidb.com - outils de gestion de base de données orienté développer.

  3. #3
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    21 761
    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 761
    Points : 52 547
    Points
    52 547
    Billets dans le blog
    5
    Par défaut
    Citation Envoyé par aserf Voir le message
    Je pense avoir trouvé ma requette.

    est ce que des experts peuvent me confirmer que c'est bon ?
    apparemment si une requette de modification est lancée sur un table le last_user_update est modifié, même si la requette n'a rien modifier, mais sa me filtre déjà pas mal de table.


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    SELECT  DB_NAME (c.database_id) as DatabaseName,OBJECT_NAME(c.object_id, c.database_id) AS TableName ,  i.name as IndexName ,  c.index_id ,c.last_user_update, *
    FROM    sys.dm_db_index_usage_stats AS c
            LEFT OUTER JOIN sys.indexes AS i ON i.object_id = c.object_id
                                                AND i.index_id = c.index_id
    Where c.last_user_update is not null and DB_NAME (c.database_id) = '@{DATABASE_NAME}@'
    Non votre requête est foireuse. Voici la bonne valable dans n'importe quelle base :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    SELECT DB_NAME() as DATABASE_NAME, s.name AS OBJECT_SCHEMA, o.name AS OBJECT_NAME, o.type_desc AS OBJECT_TYPE,  MAX(c.last_user_update) AS LAST_USAGE
    FROM   sys.indexes AS i 
           LEFT OUTER JOIN sys.dm_db_index_usage_stats AS c
              ON  i.object_id = c.object_id AND i.index_id  = c.index_id
           INNER JOIN sys.objects AS o
              ON i.object_id = o.object_id
           INNER JOIN sys.schemas AS s
              ON o.schema_id = s.schema_id
    WHERE  i.index_id BETWEEN 0 AND 1
    GROUP  BY s.name, o.name, o.type_desc;
    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/ * * * * *

Discussions similaires

  1. Probleme de muti selection d insertion pour une table
    Par Jean.Alexis dans le forum VBA Access
    Réponses: 1
    Dernier message: 25/03/2009, 08h54
  2. lien pour une table qui ne doit pas etre public
    Par raslain dans le forum Oracle
    Réponses: 1
    Dernier message: 12/12/2005, 13h40
  3. Bloquer l'accès à un enregistrement d'une table
    Par Denti-fritz dans le forum Langage SQL
    Réponses: 1
    Dernier message: 07/12/2005, 15h59
  4. Changement de tablespace pour une table
    Par slyv dans le forum Oracle
    Réponses: 5
    Dernier message: 28/04/2005, 20h46
  5. Créer une partition pour une table
    Par Erakis dans le forum SQL Procédural
    Réponses: 22
    Dernier message: 28/02/2005, 18h39

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