查询Sql Server Agent 的job的执行情况。

//有关SqlJob的信息在database(msdb)内查询。
select
j.job_id, j.name, j.enabled, jh.run_status, js.last_outcome_message, jh.run_date, jh.step_name, jh.run_time from sysjobs j left join sysjobhistory jh on (j.job_id = jh.job_id) left join sysjobservers js on (j.job_id = js.job_id)

通过C# 调用Sql Job.

    class SML_SQLJob
    {
        public static string connectionString = "Data Source=DBPABC07;Initial Catalog=master;Integrated Security=True";
        static String strSQL= "msdb.dbo.sp_start_job";

        protected bool runJob(String _strJobName)
        {
            bool bResult = false;

                
            using (SqlConnection OrConn = new SqlConnection(connectionString))
            {
                if (OrConn.State == ConnectionState.Closed)
                    OrConn.Open();
                using (SqlCommand cmd = new SqlCommand(strSQL, OrConn))
                {
                    SqlDataReader sdr = null;
                    cmd.CommandType = CommandType.StoredProcedure;
                    cmd.Parameters.Add("@JOB_NAME", SqlDbType.NVarChar, 128).Value = _strJobName;
                    SqlParameter rc = new SqlParameter("rc", System.Data.SqlDbType.Int);
                    rc.Direction = ParameterDirection.ReturnValue;
                    cmd.Parameters.Add(rc);
                    cmd.ExecuteNonQuery();
                    if ((int)rc.Value == 0)
                    {
                        bResult = true;
                    }
                    else
                    {
                        bResult = false;
                    }

                }
            }
            return bResult;
        }
        static void Main(string[] args)
        {
            SML_SQLJob SML_SQLJob = new SML_SQLJob();
            bool bResult = false;
            
            try
            {
                bResult = SML_SQLJob.runJob("TestC");    
                
                Console.WriteLine( "Job execute "+ bResult.ToString());
            }
            catch (Exception ex)
            {
                Console.WriteLine("Failed to start the job :" + ex.Message);
               
            }
            finally
            {
                Console.WriteLine("successful " );
            }
            Console.ReadKey();
        }
    }
}

此范例只是启动Sql Job, 并不用等待job执行完成。

posted on 2015-10-12 15:18 szsunny 阅读( ...) 评论( ...) 编辑 收藏

转载于:https://www.cnblogs.com/sxypeace/p/4871767.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值