SQL Server 2000:Est-il un moyen de savoir si un enregistrement a été modifiée en dernier?

StackOverflow https://stackoverflow.com/questions/2809

  •  08-06-2019
  •  | 
  •  

Question

La table n'a pas une dernière mise à jour le champ et j'ai besoin de savoir lorsque des données existantes a été mis à jour.L'ajout d'un champ dernière mise à jour n'aide pas (autant que je sache).

Était-ce utile?

La solution

SQL Server 2000 ne permet pas de garder une trace de cette information pour vous.

Il peut être créatif / fuzzy façons de deviner ce que cette date a été en fonction de votre modèle de base de données.Mais, si vous parlez d'1 table n'a pas de relation avec d'autres données, alors vous êtes hors de la chance.

Autres conseils

Vous ne pouvez pas vérifier les changements sans une sorte de mécanisme de vérification.Vous êtes à la recherche pour l'extraction de l'information ha pas été collectées.Si vous avez juste besoin de savoir si un enregistrement a été ajouté ou modifié, l'ajout d'un champ datetime est mise à jour via un déclencheur lorsque l'enregistrement est mis à jour serait la plus simple choix.

Si vous avez aussi besoin de suivre lorsqu'un enregistrement a été supprimé, alors vous aurez envie d'utiliser une table d'audit et de le remplir à partir de déclencheurs avec une ligne lorsqu'un enregistrement a été ajouté, modifié ou supprimé.

Vous pouvez essayer une visionneuse de journaux;ce fondamentalement juste vous laisse regarder les transactions dans le journal des transactions, de sorte que vous devriez être capable de trouver la déclaration de mise à jour de la ligne en question.Je ne recommanderais pas cela comme une partie de la production niveau de la stratégie d'audit, mais je l'ai trouvé pour être utile dans un pincement.

Voici celui que j'ai utilisé;c'est gratuit et (seulement) des œuvres w/ SQL Server 2000.

http://www.red-gate.com/products/SQL_Log_Rescue/index.htm

Vous pouvez ajouter un champ d'horodatage à la table et de la mise à jour de la valeur timestamp avec un déclencheur de mise à jour.

OmniAudit est un logiciel commercial qui implments auditng de l'ensemble d'une base de données.

Une méthode consisterait à écrire un déclencheur pour chaque table qui propose des entrées à une table d'audit lors de leur lancement.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top