案例环境:
服务器A系统: Windows Server 2000
数据库版本 : Microsoft SQL Server 2000 - 8.00.2282 (Intel X86)
服务器B系统: Windows Server 2003
数据库版本 : Microsoft SQL Server 2005 - 9.00.5000.00 (Intel X86)
开发人员想在服务器A上通过链接服务器链接到服务器B,执行 exec [linkedserver].[msdb].dbo.sp_send_dbmail
结果遇到了下面两个问题:
1: 执行SQL语句时,报如下错误信息
exec [linkedserver].[msdb].dbo.sp_send_dbmail
@profile_name='xxxx',
@recipients = 'konglb@xxxx.com',
@copy_recipients = 'konglb@xxxx.com',
@blind_copy_recipients ='konglb@xxxx.com',
@query_result_width =300,
@subject = 'xxxxx'
消息 15404,级别 16,状态 10,第 1 行
Could not obtain information about Windows NT group/user 'xxxx', error code 0xffff0002.
其中错误信息里面的账号为链接服务器使用的账号,出现这个错误,是因为邮件配置里面,对应的配置文件名(profile_name)的属性不是公共的。所以出现这个错误。
2: 解决了第一个问题后,紧接着出现了问题2, 执行上面SQL语句,邮件发送成功了。但是,出现下面错误信息:
消息 0,级别 11,状态 0,第 0 行
当前命令发生了严重错误。应放弃任何可能产生的结果。
然后怎么也解决不了,不过我在两台SQL SERVER 2005 与SQL SERVER 2008上测试OK,SQL SERVER 2008 与SQL SERVER 2008测试也是OK。看来问题还是出在这台SQL SERVER 2000服务器本身上。具体原因也不是很清楚。