SQL Server 2000: existe-t-il un moyen de savoir quand un enregistrement a été modifié pour la dernière fois?

Translate

La table n'a pas de dernier champ mis à jour et j'ai besoin de savoir quand les données existantes ont été mises à jour. Donc, ajouter un dernier champ mis à jour n'aidera pas (pour autant que je sache).

This question and all comments follow the "Attribution Required."

Toutes les réponses

Translate

SQL Server 2000 ne conserve pas ces informations pour vous.

Il peut y avoir des moyens créatifs / flous de deviner quelle était cette date en fonction du modèle de votre base de données. Mais, si vous parlez d'une table sans relation avec d'autres données, vous n'avez pas de chance.

La source
Translate

Vous ne pouvez pas vérifier les modifications sans une sorte de mécanisme d'audit. Vous cherchez à extraire des informations qui n'ont pas été collectées. Si vous avez juste besoin de savoir quand un enregistrement a été ajouté ou modifié, l'ajout d'un champ datetime qui est mis à jour via un déclencheur lorsque l'enregistrement est mis à jour serait le choix le plus simple.

Si vous avez également besoin de suivre lorsqu'un enregistrement a été supprimé, vous souhaiterez utiliser une table d'audit et la remplir à partir de déclencheurs avec une ligne lorsqu'un enregistrement a été ajouté, modifié ou supprimé.

La source
Translate

Vous pouvez essayer une visionneuse de journal; cela vous permet simplement de regarder les transactions dans le journal des transactions, vous devriez donc pouvoir trouver l'instruction qui a mis à jour la ligne en question. Je ne recommanderais pas cela comme stratégie d'audit au niveau de la production, mais je l'ai trouvé utile à la rigueur.

En voici un que j'ai utilisé; c'est gratuit et (uniquement) fonctionne avec SQL Server 2000.

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

La source
Translate

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

La source
Translate

OmniAuditest un package commercial qui implémente l'audit sur une base de données entière.

Une méthode gratuite serait d'écrire un déclencheur pour chaque table qui ajoute des entrées à une table d'audit lorsqu'elle est déclenchée.

La source