本地服务器执行 msdb.dbo.sp_send_dbmail ,发送邮件成功.但是当我想从其它服务器利用这个存储过程来发邮件.建立连接服务器后,执行报错消息 14607,级别 16,状态 1,过程 sysmail_verify_profile_sp,第 42 行
profile 名称无效
我已经给链接服务器用户 对msdb库的权限的控制权限时最大的了.不知道是哪里出了问题.

解决方案 »

  1.   

    SQL Server怎样配置发送电子邮件通常大家都知道:SQL Server与Microsoft Exchange Server集成性很好,关于这方面的配置,在SQL Server的联机帮助里有详细的说明,在此不再赘述。然而我们更关心的问题是:在没有Exchange Server的情况下,如何配置SQL Server利用Internet 邮件服务器发送邮件? 
        笔者曾为这问题伤透了脑筋,搜遍了互联网上的相关资料,发现仅有的几篇资料中有的是一笔带过,有的虽然介绍了操作步骤,可按照步骤一步一步操作下来,结果总是失败。为此笔者反复实验,终于找到一种简单有效的方法,不敢独自享受,下面是详细的配置步骤,如果您在操作的过程中碰到什么问题,请留言。 
        测试环境:
        1 Windows 2000 Server
        2 SQL Server 2000+SP3
        3 Microsoft OutLook (Office 2000)
        准备一个Internet邮件帐户:
        测试电子邮件帐户:[email protected]
        Smtp服务器 smtp.163.com
        pop3服务器 pop.163.com
        步骤一: 更改电子邮件配置
        1 打开Microsoft OutLook 单击“工具”菜单中的“选项”,然后单击“邮件服务”选项卡。
        2 单击“重新配置邮件支持”。
        3 选择“用于企业或工作组”选项
        4 重新启动Microsoft OutLook
        步骤二: 添加配置文件
        1 单击“工具”菜单中的“服务”,然后单击“添加”按钮。
        2 选择"Internet 电子邮件",单击“确定”。
        3 下面的步骤是设置电子邮件帐号,请参考Microsoft Outlook帮助文件,这里不再赘述。
        4 利用配置好的电子邮件帐号收发邮件,确认配置成功。
        步骤三: 配置MSSQLSERVER服务采用邮件配置文件
        1 重新启动MSSQLSERVER服务(必须的,否则MSSQLSERVER服务检测不到上一步骤添加的配置文件)
        2 打开企业管理器->展开服务器->支持服务->右击"邮件"->点击下拉框,你会发现
        "Microsoft Outlook Internet Settings"选项,点击"测试"。如果弹出表示成功的对话框,那恭喜你,已经 大功告成了。
        步骤四:享受你的劳动成果
        1 打开SQL Server的查询分析器
        2 输入下列SQL语句,执行
        exec master..xp_sendmail '[email protected]','Hello,World!'
        3 好了,去你的邮箱收邮件去吧! 
        注意事项:以上的配置过程要求以MSSQLSERVER服务采用的Windows帐号登录Windows 2000 Server,即你登录计算机所采用的帐号要和MSSQLSERVER服务采用的Windows帐号相同。
      

  2.   

    唉,就是有特殊要求,才这样啊.本地的sql服务器有点问题发送不了邮件,只有通过链接服务器来实现了.
      

  3.   

    忘了说我的sql服务器是 sql server 2005  版本的.
      

  4.   

    授予服务器角色 sysadmin权限就可以了,不过这个权限太大了,我授给msdb的 db_owner 的权限,发送都还要报错,唉