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

SQL profile name error when executing job

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

EXEC msdb.dbo.sp_send_dbmail
          @profile_name = 'Main DB Mail profile',
          @recipients = 'myemail@mydomain.net',
          @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'

但是当我执行这段代码时,我得到了这个错误:

Msg 14607, Level 16, State 1, Procedure msdb.dbo.sysmail_verify_profile_sp, Line 42 [Batch Start Line 5]
Profile name is not valid

关于如何让它工作有什么想法吗?

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

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