如何在sqlserver中跟踪存储过程中的错误?我有存储过程,它被添加到作业throush sqlserver代理。我在作业执行中遇到错误并且收到邮件但是我无法跟踪错误,因为错误是间歇性地发生或者是3-4天。
答案 0 :(得分:1)
如果您的作业遇到错误或引发RAISERROR
错误,则该作业将在SQL Server代理作业历史记录中标记为失败。通过右键单击SQL代理作业并选择“查看历史记录”,可以看到此历史记录。
您可以在工作代码周围添加一些BEGIN TRY
/ END TRY
和BEGIN CATCH
/ END CATCH
语句。这样可以防止作业失败,除非你真的希望这样做。
您的作业可以使用PRINT
语句在运行时输出信息。某些输出将在作业历史记录中可见。您可以使用PRINT
在运行时包含一些跟踪信息,并保存从TRY/CATCH
语句中捕获的错误信息。
我们有几个SQL代理作业可以运行并将PRINT信息提供给作业历史记录。工作小心谨慎地尝试一切。如果DBA需要了解严重问题,他们只会RAISERROR
。
我们的开发人员偶尔会参考代理历史记录来查看跟踪输出。我们使用此输出来帮助诊断我们软件中的问题。