首页 > 代码库 > SQL SERVER 通过作业来邮件发送SQL结果报错。 (错误 22050)

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)