Når du først opretter et SQL Server Agent-job, vil du måske lave en hurtig test for at se, om det rent faktisk kører uden problemer.
Dette er ret ligetil, når du bruger SSMS GUI, men hvordan gør du det i T-SQL?
Svar:sp_start_job
gemt procedure.
Eksempel
Her er et eksempel til demonstration:
USE msdb;
GO
EXEC sp_start_job N'BackupKrankyKranesDB';
GO
I dette tilfælde kørte jeg et job kaldet BackupKrankyKranesDB
.
Proceduren returnerer ingen resultatsæt. Men hvis du kører det i SSMS, kan du muligvis se en meddelelse som denne:
Job 'BackupKrankyKranesDB' started successfully. Completion time: 2020-12-13T19:54:18.3503521-08:00
Parametre
Du kan også angive parameternavnene. I så fald kunne jeg have gjort dette:
USE msdb;
GO
EXEC sp_start_job @job_name = N'BackupKrankyKranesDB';
GO
Du kan angive enten jobnavnet eller job-id'et (men ikke begge dele). Job-id'et er en uniqueidentifier med en standard på NULL
.
Derfor kunne vi alternativt have gjort dette:
USE msdb;
GO
EXEC sp_start_job @job_id = '4FAE7031-36E8-4934-81E6-0D561F375627';
GO
Det er job-id'et for ovenstående job. Du skal selvfølgelig bruge ID'et for det job, du skal køre. Du kan bruge sp_help_job
gemt procedure for at få job-id'et.
Syntaksen
Den faktiske syntaks ser sådan ud:
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]
Se sp_start_job
på Microsofts websted for en forklaring af hvert argument.
Se jobhistorik
Nu hvor vi har kørt jobbet, kan vi nu bruge sp_help_jobhistory
for at kontrollere, at den blev tilføjet til jobhistorikken:
EXEC sp_help_jobhistory
@job_name = 'BackupKrankyKranesDB',
@mode = 'FULL';
Brug af @mode = 'FULL'
sikrer, at vi får mere detaljerede oplysninger.
Her er hvad jeg fik efter at have kørt jobbet:
![](http://www.sqldat.com/article/uploadfiles/202205/2022051209190551.png)
Se sp_help_jobhistory
på Microsofts websted for at få flere oplysninger om denne lagrede procedure.
Se også 4 måder at få SQL Server-jobhistorik for at få flere muligheder for at returnere jobhistorik.