2010-07-29 4 views
1

Dites que j'ai un enregistrement dans une table et que cet enregistrement a une colonne "DATETIME"; C'est une date et une heure. Chaque fois que la date du serveur atteint cette date et l'heure, il doit informer l'utilisateur (exécuter la procédure qui envoie une notification par courrier électronique, par exemple, à l'utilisateur correspondant). Comment ferais-je cela? Certains sites ont mentionné la planification du service Windows et d'autres ont mentionné le travail de maintenance.Comment exécuter la procédure périodiquement (date et heure d'échéance)?

Pouvez-vous s'il vous plaît suggérer la meilleure solution pour cela?

Répondre

3

Vous devrez régulièrement interroger la table d'une manière ou d'une autre, à partir d'un client, d'un service Windows ou d'un agent SQL Server. Bien sûr, vous ne savez pas si elle sera ramassée ou ramassée deux fois: c'est possible

Je considère la création d'un travail SQL Server Agent lorsque la ligne est insérée pour le ramasser si vous ne le faites pas avoir trop (pour la gestion plutôt que toute limite supérieure)

+0

Idée intéressante. Avez-vous une idée du nombre maximal pratique d'emplois d'agents? –

+0

Vassallo @ Daniel: @job_id est uniqueidentifier donc sans limites peut-http://msdn.microsoft.com/en-us/library/ms189817.aspx SSRS utilise SQL Server Agent pour les abonnements et je peux imaginer SSRS installe plus grandes ayant une charge de camion emplois ... – gbn

+0

Cool. Merci :) –

1

Si vous devez montrer une notification à l'utilisateur pour le service de départ que vous pouvez utiliser services Windows qui Aviser l'utilisateur pour lancer le script pour envoyer du courrier par triggring clic de bouton ou un événement .. Simple Windows Service which sends auto Email alerts

Si vous souhaitez envoyer un e-mail aux utilisateurs sans notifier l'administrateur à la date de mise à jour que vous ne le souhaitez, optez pour SQL JOBS qui fonctionne pour vous. SQL Server jobs