我已经尝试了每个该死的论坛上的每条大道,但无济于事!
需要将已存储在表中的
sqlPERF(logspace)的结果通过sp_send_dbmail发送给收件人.
工作的第2步是失败发生的地方.请帮忙!
EXEC msdb.dbo.sp_send_dbmail
@profile_name= 'MyDBA',@recipients= 'Mack@mydba.co.za',@subject='Log Warning',@query='SELECT * from #TempForLogSpace WHERE LogSpaceUsed >80
您无法使用
数据库邮件从临时表进行
查询.您用于创建临时表的会话(我假设您的工作的第1步)已
关闭,并且在第2步启动时启动了新会话.由于会话已
关闭,因此表已被
删除(即使表尚未被
删除,因为它是新会话,您无权访问其他会话临时表).
要么创建一个物理表并使用它(在tempdb数据库或数据库中),要么在@query中使用select * from #TempForLogSpace将创建输出的代码放在最后(存储过程将更容易处理)在这种情况下).
原文链接:https://www.f2er.com/mssql/77521.html