Je voudrais configurer une tâche programmée qui s'exécuterait toutes les quinze minutes sur un serveur Web de travail et qui exécuterait LogParser sur le fichier journal IIS du jour et l'insérerait dans une table de base de données SQL Server.
Comment puis-je m'assurer que je ne copie pas de données en double tout en m'assurant que tous les enregistrements ont été copiés ?
De même, comment faire pour que LogParser regarde toujours le fichier journal du jour sans exécuter des requêtes coûteuses telles que SELECT * FROM ex*.log
et en utilisant une condition de date et d'heure ?
Ce avec quoi j'ai joué jusqu'à présent est :
SELECT *
FROM \\Path\To\Logs\ex*.log
WHERE date = SYSTEM_DATE()
AND time > SUB(SYSTEM_TIME(), TO_TIMESTAMP('00:30', 'hh:mm'))
Cependant, si je l'exécute toutes les demi-heures, je suis sûr d'obtenir des entrées en double. De plus, si cela ne fonctionnait pas pour une raison quelconque, je me retrouverais avec des données manquantes que j'éliminerais en écrasant chaque matin l'ensemble du fichier de la journée précédente.
Des conseils ?