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 个选项来检查配置文件名称。否则,您需要定义一个新的(请注意您选择的配置文件名称,因为它必须与您调用的配置文件名称相匹配);
我正在尝试安排工作,以便在每个月的 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 个选项来检查配置文件名称。否则,您需要定义一个新的(请注意您选择的配置文件名称,因为它必须与您调用的配置文件名称相匹配);