Ik ben gek op MS SQL Server, alleen voor mijn testen en proeftuintjes heb ik geen volledige SQL Server licentie over. In die gevallen gebruik ik SQL Server Express. Alleen hebben al mijn applicaties een motor en die motor start je met de SQL Server Agent. Hier kun je jobs maken die elk uur draaien.
In de praktijk wordt er bij mij altijd maar 1 stored procedure uitgevoerd: EXEC spRun . Door de Windows Task Scheduler kun je ook bijvoorbeeld elk uur een stored procedure uitvoeren.
Open de Task Scheduler en Create a New Task (niet een basic task). Geef deze een naam en zorg dat "Run wether a user is logged on or not aan staat. Zodat deze ook wordt uitgevoerd als er niemand achter de computer zit.
Bij Triggers kun je een Schedule maken, bij Actions voer je het juiste commando in.
Maak eerst een tekstfile en verander de extensie in .sql en sla deze op een logische locatie op. Hierin zet je het SQL commando bijv. EXEC DatabaseNaam.dbo.spRun
In het commando wat je maakt verwijs je naar dit script:
Bij program tik je sqlcmd in, bij Add Arguments vul je bijv.
-S SRV01\SQLEXPRESS -i "C:\Users\Administrator\Documents\SQL Task\spRun.sql"
in.
-S geeft de server en database instance naam aan na -i geef je het pad aan en bestandsnaam van het .sql filetje wat je zonet hebt gemaakt. Let op dat als het pad spaties bevat dat de gehele pad en bestandsnaam tussen " staat.
Bij Settings geef je aan dat als de task nog loopt er niet een nieuwe gestart moet worden en dat tasks die langer dan 8 uur lopen afgekapt worden (wees bewust van de consequenties).
Je kunt aangeven onder welk account de opdracht wordt uitgevoerd (bijv. administrator), voordeel is dat je dit wachtwoord verders nergens hoeft op te slaan, je moet alleen de credentials opgeven.
Gebruik dit krachtige systeem voor nog 1000 andere dingen!!