我想通过链接服务器从sql server 2008发送电子邮件。 我使用以下方法配置了链接服务器: -
EXEC sp_addlinkedserver N'linkedserver.com',N'SQL Server';
EXEC sp_addlinkedsrvlogin 'linkedserver.com', 'false','sa' , 'user', 'Pwd';
它成功链接。
EXEC msdb.dbo.sp_send_dbmail
@profile_name='Profile name',
@recipients='divyansh@gmail.com',
@subject='Test message',
@body='This is the body of the test message.
Congrates Database Mail Received By you Successfully.',
@query = 'select top 10 * from [linkedserver.com].[comm].[dbo].[tbl_mobilereporting] order by visit_date desc'
效果很好。 但问题是当我尝试通过sql server job agent发送它时,它显示: -
NT AUTHORITY\SYSTEM. Error formatting query.probably invalid parameters [SQLSTATE 42000] (Error 22050).The step failed.
当我解析查询时,它会显示成功解析的命令。
答案 0 :(得分:2)
为sa设置链接服务器登录。检查代理作业是否以sa身份运行,或者为正确的本地登录添加链接服务器登录。
示例看起来已经简化并且补充了值。如果是这样,请尝试在nvarchar(max)变量中创建查询,然后将其传递给@query。 请注意,查询是在单独的会话中执行的,因此调用sp_send_dbmail的脚本中的局部变量不可用于查询。