执行作业时SQL配置文件名称错误

问题描述 投票:0回答:2

我正在尝试安排工作,因此它在每月的25日发送一封包含一些信息的电子邮件。我现在拥有的代码是:

EXEC msdb.dbo.sp_send_dbmail
          @profile_name = 'Main DB Mail profile',
          @recipients = '[email protected]',
          @subject = 'PG25',
          @query = N'SELECT CONVERT(date, docdata), adoc, nome, etotal, aprovado FROM fo
                     WHERE aprovado LIKE "0" 
                       AND pdata BETWEEN DATEADD(yy, DATEDIFF(yy, 0, GETDATE()), 0) AND DATEFROMPARTS(YEAR(GETDATE()), MONTH(GETDATE()), 25)',
          @attach_query_result_as_file = 1,
          @query_attachment_filename = 'results.txt'

但是执行此代码时出现此错误:

消息14607,级别16,状态1,过程msdb.dbo.sysmail_verify_profile_sp,第42行[批处理开始第5行]个人资料名称无效

关于如何使它工作的任何想法?

sql sql-server job-scheduling
2个回答
1
投票

您需要确保您要呼叫的配置文件名称必须存在于Database Mail中。为了检查,请执行以下操作:

  • 在您的实例中扩展管理;
  • 然后,右键单击并配置数据库邮件;
  • 此后,如果已经定义了配置文件,则可以选择第4个选项来检查配置文件名称。否则,您需要定义一个新名称(请注意选择的配置文件名称,因为它必须与您要调用的名称匹配);

enter image description here

enter image description here


0
投票

确定,创建了一个存储过程并解决了这个问题!

© www.soinside.com 2019 - 2024. All rights reserved.