我一直在运行一个存储过程,它运行几个单独的update和insert语句。它还打印了一些我可以在sql management studio中看到的状态消息。我将自动执行此过程以便在一夜之间运行,但需要将输出作为最终检查发送给我。
我知道如何使用电子邮件存储过程并使其工作但无法找到消息输出的位置,即(10行受影响)...全部存储。
答案 0 :(得分:1)
您始终可以将输出存储在表格中
exec master..xp_sendmail
@recipients = 'you@you.com',
@subject = 'my alert'.
@query = 'select * from mytable'
答案 1 :(得分:1)
“10行受影响”或PRINT输出等信息性消息将直接发送到客户端,您无法在Transact-SQL中捕获它。但是,如果您是CLR过程,则可以 客户端,在这种情况下,您将从您调用的过程中获得所有输出。需要SQL Server 2005或更新版本的CLR。
更好的替代方法是让过程创建一个真正的输出,如行集结果或输出参数。
答案 2 :(得分:0)
你无法从t-sql获取信息消息。
答案 3 :(得分:0)
PRINT @WIDELOAD