小编def*_*833的帖子

SQL Server代理未报告PowerShell脚本中未捕获的异常导致的失败

我已经设置了一个SQL Server代理程序作业,其中包含一些需要每周处理的步骤.其中一个是PowerShell脚本,它将抛出以下(未捕获的)自定义异常:

$endfile = Test-Path "C:\Temp\1_${loc}_${lastpayweek}.csv"
IF ($endfile -eq $true) 
{
   throw "target file already exists"
}
Run Code Online (Sandbox Code Playgroud)

现在,当发生这种情况时,我可以在服务器代理历史记录中看到抛出了异常,但仍然报告该步骤是成功的.如果没有失败,服务器代理将不会发送通知电子邮件让我知道失败.

我这样调用PowerShell脚本:

powershell C:\scripts\rename_timesheet_export.ps1 -loc 3
Run Code Online (Sandbox Code Playgroud)

为什么报道成功?

sql sql-server error-handling powershell sql-server-agent

4
推荐指数
1
解决办法
2225
查看次数

从SQL Server为数据集的每一行发送电子邮件

我已经构建了一个存储过程,用于每周向一组员工发送电子邮件提醒.SQL Server代理每周运行一个计划过程来构建本周的员工数据集,然后我需要让每个员工收到一封电子邮件,但我不能使用与预定SELECT语句内联的电子邮件存储过程.

这可以使用函数,但我使用EXEC msdb.dbo.sp_send_dbmail发送无法在函数中执行的邮件.

sql sql-server email sp-send-dbmail dbmail

1
推荐指数
1
解决办法
6221
查看次数