Wanneer u voor het eerst een SQL Server Agent-taak maakt, wilt u misschien een snelle test doen om te zien of deze daadwerkelijk zonder problemen zal werken.
Dit is vrij eenvoudig als je de SSMS GUI gebruikt, maar hoe doe je dat in T-SQL?
Antwoord:De sp_start_job
opgeslagen procedure.
Voorbeeld
Hier is een voorbeeld om te demonstreren:
USE msdb;
GO
EXEC sp_start_job N'BackupKrankyKranesDB';
GO
In dit geval heb ik een taak uitgevoerd met de naam BackupKrankyKranesDB
.
De procedure retourneert geen resultaatsets. Als u het echter in SSMS uitvoert, ziet u mogelijk een bericht als dit:
Job 'BackupKrankyKranesDB' started successfully. Completion time: 2020-12-13T19:54:18.3503521-08:00
Parameters
U kunt ook de parameternamen opgeven. In dat geval had ik dit kunnen doen:
USE msdb;
GO
EXEC sp_start_job @job_name = N'BackupKrankyKranesDB';
GO
U kunt de taaknaam of de taak-ID opgeven (maar niet beide). De taak-ID is een unieke identificatie met een standaard van NULL
.
Daarom hadden we dit ook als alternatief kunnen doen:
USE msdb;
GO
EXEC sp_start_job @job_id = '4FAE7031-36E8-4934-81E6-0D561F375627';
GO
Dat is de taak-ID van de bovenstaande taak. Uiteraard moet u de ID gebruiken van de taak die u moet uitvoeren. U kunt de sp_help_job
. gebruiken opgeslagen procedure om de taak-ID te krijgen.
De syntaxis
De eigenlijke syntaxis gaat als volgt:
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]
Zie sp_start_job
op de Microsoft-website voor een uitleg van elk argument.
Vacaturegeschiedenis bekijken
Nu we de taak hebben uitgevoerd, kunnen we nu sp_help_jobhistory
. gebruiken om te controleren of het is toegevoegd aan de taakgeschiedenis:
EXEC sp_help_jobhistory
@job_name = 'BackupKrankyKranesDB',
@mode = 'FULL';
Met behulp van @mode = 'FULL'
zorgt ervoor dat we meer gedetailleerde informatie krijgen.
Dit is wat ik kreeg nadat ik de taak had uitgevoerd:
Zie sp_help_jobhistory
op de Microsoft-website voor meer informatie over deze opgeslagen procedure.
Zie ook 4 manieren om de taakgeschiedenis van SQL Server op te halen voor meer opties voor het retourneren van de taakgeschiedenis.