Quando crei per la prima volta un processo di SQL Server Agent, potresti voler eseguire un rapido test per vedere se verrà effettivamente eseguito senza problemi.
Questo è abbastanza semplice quando si utilizza la GUI di SSMS, ma come si fa in T-SQL?
Risposta:Il sp_start_job
procedura memorizzata.
Esempio
Ecco un esempio da dimostrare:
USE msdb;
GO
EXEC sp_start_job N'BackupKrankyKranesDB';
GO
In questo caso ho eseguito un lavoro chiamato BackupKrankyKranesDB
.
La procedura non restituisce alcun set di risultati. Tuttavia, se lo esegui in SSMS, potresti visualizzare un messaggio come questo:
Job 'BackupKrankyKranesDB' started successfully. Completion time: 2020-12-13T19:54:18.3503521-08:00
Parametri
È anche possibile fornire i nomi dei parametri. In tal caso, avrei potuto fare questo:
USE msdb;
GO
EXEC sp_start_job @job_name = N'BackupKrankyKranesDB';
GO
È possibile fornire il nome del lavoro o l'ID lavoro (ma non entrambi). L'ID lavoro è un identificatore univoco con un valore predefinito di NULL
.
Pertanto, avremmo potuto in alternativa fare questo:
USE msdb;
GO
EXEC sp_start_job @job_id = '4FAE7031-36E8-4934-81E6-0D561F375627';
GO
Questo è l'ID del lavoro di cui sopra. Ovviamente dovresti usare l'ID del lavoro che devi eseguire. Puoi usare il sp_help_job
stored procedure per ottenere l'ID lavoro.
La sintassi
La sintassi effettiva è questa:
sp_start_job
{ [@job_name =] 'job_name'
| [@job_id =] job_id }
[ , [@error_flag =] error_flag]
[ , [@server_name =] 'server_name']
[ , [@step_name =] 'step_name']
[ , [@output_flag =] output_flag]
Vedi sp_start_job
sul sito Web Microsoft per una spiegazione di ogni argomento.
Visualizza cronologia lavori
Ora che abbiamo eseguito il lavoro, ora possiamo usare sp_help_jobhistory
per verificare che sia stato aggiunto alla cronologia dei lavori:
EXEC sp_help_jobhistory
@job_name = 'BackupKrankyKranesDB',
@mode = 'FULL';
Usando @mode = 'FULL'
assicura che otteniamo informazioni più dettagliate.
Ecco cosa ho ottenuto dopo aver eseguito il lavoro:
Vedi sp_help_jobhistory
sul sito Web Microsoft per ulteriori informazioni su questa procedura memorizzata.
Vedi anche 4 modi per ottenere la cronologia dei processi di SQL Server per ulteriori opzioni per la restituzione della cronologia dei processi.