公司有5台服务器,配置同样的维护任务,但是其中有一台突然这两天不能在指定时间内执行任务,查看代理作业历史记录,如下:
日期 2009/12/11 10:00:00
日志 作业历史记录 (DailyMaintencePlan.Subplan_1)步骤 ID 0
服务器 SQLFNLROGER
作业名称 DailyMaintencePlan.Subplan_1
步骤名称 (Job outcome)
持续时间 00:00:07
SQL 严重性 0
SQL 消息 ID 0
已通过电子邮件通知的操作员
已通过网络发送通知的操作员
已通过寻呼通知的操作员
重试次数 0消息
The job failed.  The Job was invoked by Schedule 4 (DailyMaintencePlan).  The last step to run was step 1 (Subplan_1).
日期 2009/12/11 10:00:06
日志 作业历史记录 (DailyMaintencePlan.Subplan_1)步骤 ID 1
服务器 SQLFNLROGER
作业名称 DailyMaintencePlan.Subplan_1
步骤名称 Subplan_1
持续时间 00:00:00
SQL 严重性 0
SQL 消息 ID 0
已通过电子邮件通知的操作员
已通过网络发送通知的操作员
已通过寻呼通知的操作员
重试次数 0消息
Unable to start execution of step 1 (reason: line(1): Syntax error).  The step failed.在这之前,有执行过一次压缩事务日志的操作,执行DBCC CHECKDB,无提示错误信息,想请教高手帮我解决这个问题,不甚感激!

解决方案 »

  1.   

    step 1 (reason: line(1): Syntax error)
    步骤一中的第一行有语法错误。步骤一执行的是什么任务,将语句贴一下。
      

  2.   

    .   定位到数据库维护计划,然后展开它。     
      2.   右键单击具有失败的相应作业的数据库维护计划。     
      3.   单击数据库维护计划历史记录。     
      4.   随即打开一个窗口,窗口中包含与维护计划中执行的每一任务有关的详细信息。为在各日期运行的每一任务提供历史记录列表,该列表还指示单独任务的失败或成功状态。如果您双击一个失败的任务,则显示指示产生的任何错误信息的信息以及与任务失败的原因有关的信息。     
      5.   此时采取必要的措施解决指示的具体问题。     
      典型的例子是设置维护计划来备份数据库和检查完整性。例如,假定某一完整性检查任务在一个或多个数据库中遇到数据库完整性错误。该任务引发一个错误信息。维护计划继续执行该计划中的其余任务。在维护计划完成后,SQLAgent   中的相应作业被设置为"failed"(失败)状态。维护计划历史记录的检查指示哪一数据库完整性检查找到了完整性错误或失败以及相应的错误信息。然后您需要采取措施并运行适当的   DBCC   CHECKDB   步骤来解决该问题。有关   DBCC   CHECKDB   的更多信息,请参见   SQL   Server   联机图书中的"DBCC   CHECKDB"主题。   
        
      您还可以将详细的维护计划信息写入一个文件。若要将详细的维护计划信息写入一个文件,请使用以下步骤:1.   在   SQL   Server   企业管理器中,定位到"数据库维护计划"。选择所需计划,然后双击该计划。     
      2.   单击报告选项卡。在报告对话框中,您可以选择将报告写入指定目录中的一个文本文件上。该报告包含与维护计划执行的步骤有关的细节,并且包括任何错误信息。您还可以将该报告通过电子邮件发送到指定的操作员处,以进行常规检查。     
      3.   如果不使用文本报告,则您还可以通过本服务器上的历史记录选项将输出发送到一个   SQL   Server   表中。   
        
      有关为数据库维护计划设置这些选项的细节的更多信息,请参见   SQL   Server   联机图书中的"Database   Maintenance   Plan,   Reporting   Tab"(数据库维护计划,报告选项卡)主题。       
      如果您需要更深入的疑难解答,则可以启动   SQL   Server   Agent,使用详细日志记录从命令提示处运行。   
        
      默认实例:   sqlagent.exe   -c   -v   
      命名的实例:   sqlagent.exe   -i[Instance]   -c   -v   
      

  3.   

    其实我一直想问,SQL的那些所谓的任务,计划,同步等功能可靠吗?换成是我,更愿意用程序去完成这些需求.
      

  4.   

    第一步骤代码如下:EXECUTE msdb.dbo.sp_sqlagent_log_jobhistory @job_id = 0x3B0AFAC64994154EA26DB0A500137926, @step_id = 0, @sql_message_id = 0, @sql_severity = 0, @run_status = 0, @run_date = 20091211, @run_time = 112500, @run_duration = 0, @operator_id_emailed = 0, @operator_id_netsent = 0, @operator_id_paged = 0, @retries_attempted = 0, @session_id = 17, @message = N'The job failed.  The Job was invoked by Schedule 4 (DailyMaintencePlan).  The last step to run was step 1 (Subplan_1).'
      

  5.   

    问题解决了:
    在“代理作业”-“属性”-“步骤”中,要编辑步骤一,把验证方式改成SQL Server身份验证就OK了。
    但是也非常感谢楼上各位的帮忙!散分了。