SQL SERVER 通过作业来邮件发送SQL结果报错。 (错误 22050)

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SQL SERVER 通过作业来邮件发送SQL结果报错。 (错误 22050)相关的知识,希望对你有一定的参考价值。

环境:SQL SERVER2008R2

症状描述:

作业中执行如下脚本报错:已以用户 NT AUTHORITY\NETWORK SERVICE 的身份执行。 Error formatting query, probably invalid parameters [SQLSTATE 42000] (错误 22050).  该步骤失败。

但在ssms客户端中直接执行是可以正常发送。。。

Exec
dbo.sp_send_dbmail
@profile_name=‘邮件服务器‘,
@recipients=‘收件人‘,
@subject=‘邮件标题‘,
@body=‘正文‘,
@query =‘select * from table‘

 

很奇怪,做了很多测验想找出哪个环节的问题,过程不多赘述,直接说我的解决方法。

最后怀疑数据库版本的问题。现有版本是:

Microsoft SQL Server 2008 R2 (RTM) - 10.50.1600.1 (X64)
Apr 2 2010 15:48:46
Copyright (c) Microsoft Corporation
Enterprise Edition (64-bit) on Windows NT 6.1 <X64> (Build 7601: Service Pack 1) (Hypervisor)

 

找了台测试机打上SP1补丁做测试:

Microsoft SQL Server 2008 R2 (SP1) - 10.50.2500.0 (X64)
Jun 17 2011 00:54:03
Copyright (c) Microsoft Corporation
Enterprise Edition (64-bit) on Windows NT 6.1 <X64> (Build 7601: Service Pack 1) (Hypervisor)

 

在作业中终于可以正常发送邮件。

当然可能会有更好的解决办法,不需要打补丁。知道的请不吝赐教。

 













以上是关于SQL SERVER 通过作业来邮件发送SQL结果报错。 (错误 22050)的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 SQL Server 通过电子邮件发送包含查询结果的 Excel 工作簿

SQL Server 2014 Database Mail重复发送邮件特殊案例

SQL Server 代理作业在失败时通知多个操作员

SQL Server 代理作业和 SSIS 项目

sql Server 发送邮件 错误类型及原因

在 SQL Server 2005 中配置数据库邮件,发送邮件