存储过程SQL Server中的跟踪错误

时间:2014-05-02 11:27:35

标签: sql-server-2008 stored-procedures

如何在sqlserver中跟踪存储过程中的错误?我有存储过程,它被添加到作业throush sqlserver代理。我在作业执行中遇到错误并且收到邮件但是我无法跟踪错误,因为错误是间歇性地发生或者是3-4天。

1 个答案:

答案 0 :(得分:1)

如果您的作业遇到错误或引发RAISERROR错误,则该作业将在SQL Server代理作业历史记录中标记为失败。通过右键单击SQL代理作业并选择“查看历史记录”,可以看到此历史记录。

您可以在工作代码周围添加一些BEGIN TRY / END TRYBEGIN CATCH / END CATCH语句。这样可以防止作业失败,除非你真的希望这样做。

您的作业可以使用PRINT语句在运行时输出信息。某些输出将在作业历史记录中可见。您可以使用PRINT在运行时包含一些跟踪信息,并保存从TRY/CATCH语句中捕获的错误信息。

我们有几个SQL代理作业可以运行并将PRINT信息提供给作业历史记录。工作小心谨慎地尝试一切。如果DBA需要了解严重问题,他们只会RAISERROR

我们的开发人员偶尔会参考代理历史记录来查看跟踪输出。我们使用此输出来帮助诊断我们软件中的问题。