So werden SQL Server-Agent-Jobs ausgeführt, die in der SQL-Tabelle @ aufgelistet si

Ich versuche, alle SQL Server-Agent-Jobs im Tabellennamen zu speichern und sie basierend auf ihrer Ladehäufigkeit auszuführen.

CREATE TABLE Maintainance
(
SQLJobName varchar(100), --SQL Job Name which needs to be executed
Frequency varchar(50), -- It can be Daily, Monthly, Weekly, Yearly
ManualRunDate date,  --If Frequency is not given need to execute on this date
LastRunDate datetime, -- If job ran successful it will put the date and time
IsSucceed bit, --1 for Success 0 for fail
Email nvarchar(50) -- email address
)

Ich möchte diese Jobs mit TSQL ausführen. Es kann auch mehr als einen Job in der Tabelle geben, der ausgeführt werden muss. Wenn der erste Job fehlgeschlagen ist, sollte eine E-Mail an die Person gesendet werden, die in der Tabelle aufgeführt ist, und der nächste Job wird ausgeführt. Wie kann ich das mit dem Cursor oder nur mit der While-Schleife in SQL machen?

declare cur cursor for
select Frequency from Maintainance

declare @x int
open cur
fetch next from cur into @x

while @@FETCH_STATUS = 0
BEGIN
    EXEC msdb.dbo.sp_start_job @job_name = @job_name

    fetch next from cur into @x
END

Wenn Sie einen anderen Vorschlag haben, zögern Sie bitte nicht, mir eine Idee zu geben.

Antworten auf die Frage(2)

Ihre Antwort auf die Frage