让我们假设我有一个带有字段Processed的表ExchangeSession。sp_send_dbmail与@query参数同步
我需要发送电子邮件与加工= 0所有ExchangeSession,然后更新这些会议,以加工= 1像这样:
EXEC msdb.dbo.sp_send_dbmail
@profile_name = 'SomeProfile',
@recipients='SomeAddress',
@subject = 'SomeSubject',
@body = @bodyparam,
@body_format = 'TEXT',
@query = N'SET NOCOUNT ON; select * from ExchangeSession where Processed = 0',
@execute_query_database = @dbnameparam,
@attach_query_result_as_file = 1,
@query_attachment_filename = 'report.csv',
@query_result_header = 1,
@query_result_width = 32767,
@query_result_separator = @delimiterparam,
@exclude_query_output = 1,
@append_query_error = 0,
@query_no_truncate = 0,
@query_result_no_padding = 1;
update ExchangeSession
set
Processed = 1
where
Processed = 0
威尔sp_send_dbmail相对同步执行我的查询到该批次或异步?换句话说,在电子邮件中我有没有机会获得所有未处理的会话?
亲爱的Skippy,感谢您的回复!但我不明白它在@query执行上下文中的作用。问题是,如果sp_send_dbmail在批处理中同步执行查询,并将结果保存为附件,然后异步发送电子邮件或将查询保存为文本,然后异步执行。 – Alterant
由于只有一个进程使用数据库,所以我不太在意新条目。不管怎么说,还是要谢谢你! – Alterant