2012-03-05 13 views

Odpowiedz

18

Zadzwoń pod numer sp_start_job.

exec msdb.dbo.sp_start_job @job_name = 'YourJobName' 

MSDN Reference on sp_start_job

SqlConnection DbConn = new SqlConnection(YourConnectionString); 
SqlCommand ExecJob = new SqlCommand(); 
ExecJob.CommandType = CommandType.StoredProcedure; 
ExecJob.CommandText = "msdb.dbo.sp_start_job"; 
ExecJob.Parameters.AddWithValue("@job_name", "YourJobName") 
ExecJob.Connection = DbConn; //assign the connection to the command. 

using (DbConn) 
{ 
    DbConn.Open(); 
    using (ExecJob) 
    { 
     ExecJob.ExecuteNonQuery(); 
    } 
} 
0

Zadania agenta to zazwyczaj skrypty, które i tak uruchamiają zapytania. Czy istnieje jakikolwiek powód, dla którego nie można po prostu uruchomić zapytania, że ​​zadanie agenta jest uruchomione?

Agent obsługuje tylko powiadomienia o harmonogramach i niepowodzeniach itp. Jest to nieco ponad uproszczenie, ale Agent jest głównie programem planującym z alertami uruchamiającymi zapytania. Spróbuj wykonać skryptowanie zadania agenta i sprawdź, czy jest to coś, co można przenieść do procedury składowanej uruchamianej zarówno przez agenta, jak i przez aplikację.

+0

W moim przypadku wiem, identyfikator zadania .. Chcę, aby to zadanie zaplanowane do zmiany za pomocą aplikacji windows .. – user824910

+0

MSDB ma większość zastosowań agenta danych. Rozejrzyj się dookoła i chociaż sam tego nie zrobiłem, jestem pewien, że możesz to zmienić, aktualizując go bezpośrednio. Może to jednak być trochę niebezpieczne i wydaje mi się, że usługa Windows byłaby lepszym rozwiązaniem dla tego, co próbujesz zrobić. Twój OP powiedział, że chcesz go wywołać, ale teraz mówisz, że chcesz to zmienić ... czy to prawda? – Gats

1

The documentation opisuje wszystkie opcje. Możesz użyć SMO Job class z C# lub innego języka .NET, jeśli nie chcesz używać TSQL.

+0

Dzięki. Czy wiesz, czy to używa WMI w tle? –

+0

@TomRedfern SMO robi [wrap WMI] (http://msdn.microsoft.com/en-us/library/ms162557.aspx) dla niektórych operacji (takich jak praca z usługami SQL Server), ale dla wielu po prostu generuje TSQL i wysyła go na serwer. – Pondlife

Powiązane problemy