2009-08-04 3 views

Répondre

1

ce listera tous les types d'objets de changement le plus récent au plus ancien, vous pouvez modifier facilement si nécessaire ...

DECLARE @SearchParams varchar(500) 
SET @SearchParams='yourObjectName' 

SELECT 
    CONVERT(varchar(23),modify_date,121) AS modify_date 
     ,type_desc 
     ,name 
    FROM sys.objects 
    WHERE is_ms_shipped=0 AND name LIKE '%'[email protected]+'%' 
    ORDER BY modify_date DESC 

si vous voulez juste des tables, essayez:

DECLARE @SearchParams varchar(500) 
SET @SearchParams='YourTableName' 
SELECT 
    CONVERT(varchar(23),modify_date,121) AS modify_date 
     ,type_desc 
     ,name 
    FROM sys.objects 
    WHERE type='U' 
     AND name LIKE '%'[email protected]+'%' --can use "[email protected]" if you have the entire table name 
    ORDER BY modify_date DESC 
+0

Alors que cela fonctionne, ce n'était pas ce que je m'attendais. Je vais reformuler la question. –

+0

reformulé et lié la question reformulée dans le corps de la question –

1

KM la solution montrera quand une table objet (la définition de la table) a été modifié pour la dernière. Il n'y a pas de façon intégrée de déterminer quand les données dans une ligne donnée ont été mises à jour pour la dernière fois (ou insérées ou, bien sûr, supprimées). Le seul moyen fiable à 99% que j'ai trouvé pour faire cela est avec des déclencheurs, avec ce 1% manquant représentant quand un fauteur de troubles désactive le déclencheur.

+1

de la question de l'OP, je pensais "modification de table" = changements de structure de table, donc ma réponse. si "table modification" = insérer/mettre à jour/supprimer alors @Philip Kelley est correct, vous avez besoin d'un déclencheur, faites attention si vous mettez à jour une dernière ligne dans la table antother pour suivre les changements, vous pouvez créer un blocage là. –

+0

Excellent commentaire KM. –

Questions connexes