2010-02-27 16 views
30

Ho una tabella su cui voglio eseguire alcune operazioni ogni ora. Per questo ho creato una stored procedure ma non so come chiamarla ogni ora. So che ci sono alcuni tipi di lavori programmati, ma come usarli.Come eseguire una procedura memorizzata in SQL Server ogni ora?

C'è qualche tipo di servizio che continua a funzionare continuamente, ogni secondo, dove posso posizionare il mio pezzo di codice per essere eseguito?

risposta

57

In SSMS navigare a SQL Server Agent -> Lavoro clic destro sulla cartella di lavoro e selezionare nuovo lavoro

nella finestra di dialogo che si apre, dare un nome al job click sui gradini, poi su di nuovo, vedrete una finestra come la seguente, pick corretta DB e digitare il nome proc

alt text

dopo che cliccare sul calendario, scegliere nuovo e vedrete qualcosa come l'immagine qui sotto, compilare tutte le cose che ti serve e fare clic su OK, fare clic su OK sul lavoro e si dovrebbe essere impostato alt text

+0

imgur incorporamento è squirrelly ora, ma nel caso sia utile per gli altri, posso accedere alle immagini direttamente su http://i.imgur.com/Woxpv.png e http://i.imgur.com/tSUau.png – ruffin

+2

E se tu è necessario inviare e-mail di notifica a qualcuno (diciamo WebMaster) in base al risultato sp, In fase di lavoro: 'DECLARE @result bit' - l'output YourProc è bit. 'Exec YourProc @spResult = @result OUTPUT' e quindi ' if (@result = 0) Inizio DECLARE @subject nvarchar (max) = 'Notifica!' DECLARE @body nvarchar (max) = 'Qualcosa è andato storto ...' DECLARE @to nvarchar (max) = '[email protected]' EXEC msdb.dbo.sp_send_dbmail @recipients = @to, @subject = @ oggetto, @body = @body; End' –

+0

Ho provato questo tipo di scenario, ma ero un po 'confuso perché non viene eseguito il giorno successivo. Le stesse impostazioni e soprattutto tutte le impostazioni sulla frequenza giornaliera. – Juran

1

impostare un processo di agente di SQL Server per eseguire la stored procedure ad intervalli di 1 ora

3

1) utilizzare SQL Server Agent (aperta MS Management Studio) 2) Nuovo processo 3) Aggiungere Passo 4) Scegli Transact SQL 5) EXEC MyStroredProc 6) scegliere database di 7) Aggiungi pianificazione 8) si verifica ogni ora

Aggiungere la notifica di sapere che processo sta facendo bene (o male).

Nelle proprietà di SQL Server Agent controllare che tutte le opzioni di riavvio automatico sono interruttore ON

Problemi correlati