可以通过点击按钮按钮触发 ASP.Net 页面中的 SQL Server代理执行作业强>
答案 0 :(得分:3)
您可以使用sp_start_job (Transact-SQL)
指示SQL Server代理立即执行作业。
[@ job_name =]'job_name'
要开始的工作的名称。 job_id或job_name必须是 指定,但两者都无法指定。 job_name是sysname,带有 默认为NULL。
您可以将其用作存储过程,而不是在代码中运行它。
如果您的作业运行dts包,则可以使用Package.Execute method
返回包含有关信息的DTSExecResult枚举 包执行的成功或失败。
来自 MSDN 页面的示例;
static void Main(string[] args)
{
Package p = new Package();
p.InteractiveMode = true;
p.OfflineMode = true;
// Add a Script Task to the package.
TaskHost taskH = (TaskHost)p.Executables.Add(typeof(Microsoft.SqlServer.Dts.Tasks.ScriptTask.ScriptTask).AssemblyQualifiedName);
// Run the package.
p.Execute();
// Review the results of the run.
if (taskH.ExecutionResult == DTSExecResult.Failure || taskH.ExecutionStatus == DTSExecStatus.Abend)
Console.WriteLine("Task failed or abended");
else
Console.WriteLine("Task ran successfully");
}
答案 1 :(得分:1)
使用sp_start_job存储过程。
EXEC dbo.sp_start_job N'YourJobName';
答案 2 :(得分:0)
是的,有可能。您也可以使用
Server server = new Server("<replace_with_your_server>");
server.JobServer.Jobs["<replace_with_your_job_name>"]?.Start();
更多详情,请访问Start, Stop, Manage MS SQL Server Agent Job using C#