NOVOTS KMS 词汇表 Glossary    联系我们 Contact Us
查询 Search  
   
按类别浏览 Browse by Category
NOVOTS KMS .: 数据库 .: SQL Server 2005 发送邮件

SQL Server 2005 发送邮件

在 sa 系统帐户下运行。 1. 启用 SQL Server 2005 邮件功能。 use mastergoexec sp_configure 'show advanced options',1goreconfiguregoexec sp_configure 'Database mail XPs',1goreconfigurego2. 在 SQL Server 2005 中添加邮件帐户(account) exec msdb..sysmail_add_account_sp @account_name = 'p.c.w.l' -- 邮件帐户名称(SQL Server 使用) ,@email_address = 'webmaster@sqlstudy.com' -- 发件人邮件地址 ,@display_name = null -- 发件人姓名 ,@replyto_address = null SQL Server2005 功能,@description = null ,@mailserver_name = '58.215.64.159' -- 邮件服务器地址 ,@mailserver_type = 'SMTP' -- 邮件协议(SQL 2005 只支持 SMTP) ,@port = 25 -- 邮件服务器端口 ,@username = 'webmaster@sqlstudy.com' -- 用户名 ,@password = 'xxxxxxxxx' -- 密码 ,@use_default_credentials = 0 ,@enable_ssl = 0 ,@account_id = null3. 在 SQL Server 2005 中添加 profile exec msdb..sysmail_add_profile_sp @profile_name = 'dba_profile' -- profile 名称 ,@description = 'dba mail profile' -- profile 描述 ,@profile_id = null4. 在 SQL Server 2005 中映射 account 和 profile exec msdb..sysmail_add_profileaccount_sp @profile_name = 'dba_profile' -- profile 名称 ,@account_name = 'p.c.w.l' -- account 名称 ,@sequence_number = 1 -- account 在 profile 中顺序 5. 利用 SQL Server 2005 Database Mail 功能发送邮件。 exec msdb..sp_send_dbmail @profile_name = 'dba_profile' -- profile 名称 ,@recipients = 'sqlstudy@163.com' -- 收件人邮箱 ,@subject = 'SQL Server 2005 Mail Test' -- 邮件标题 SQL Server2005 功能,@body = 'Hello Mail!' -- 邮件内容 ,@body_format = 'TEXT' -- 邮件格式 6. 查看邮件发送情况: use msdbgoselect * from sysmail_allitemsselect * from sysmail_mailitemsselect * from sysmail_event_log如果不是以 sa 帐户发送邮件,则可能会出现错误: Msg 229SQL Server2005 功能, Level 14, State 5, Procedure sp_send_dbmail, Line 1EXECUTE permission denied on object 'sp_send_dbmail'SQL Server2005 功能, database 'msdb', schema 'dbo'.这是因为,当前 SQL Server 登陆帐户(login),在 msdb 数据库中没有发送数据库邮件的权限,需要加入 msdb 数据库用户,并通过加入 sp_addrolemember 角色赋予权限。假设该SQL Server 登陆帐户名字为 “dba” use msdbgocreate user dba for login dbagoexec dbo.sp_addrolemember @rolename = 'DatabaseMailUserRole', @membername = 'dba'go此时,再次发送数据库邮件,仍可能有错误: Msg 14607, Level 16, State 1, Procedure sp_send_dbmail, Line 119profile name is not valid虽然,数据库用户 “dba” 已经在 msdb 中拥有发送邮件的权限了,但这还不够,他还需要有使用 profile:“dba_profile” 的权限。 use msdbgoexec sysmail_add_principalprofile_sp @principal_name = 'dba' ,@profile_name = 'dba_profile' ,@is_default = 1 现在,可以利用 SQL Server 2005 发送数据库邮件了

这篇文章对你多有用?

相关文章

article 如何配置 SQL Server 2005 以允许远程连接
默认情况下

(No rating)  3-28-2010    Views: 1716   
article 连接到 SQL Server 2005 时,默认设置 SQL Server 不允许远程连接这个事实可能会导致失败
近期在做lxxSQL SERVER...

(No rating)  10-29-2009    Views: 3895   
article 完整卸载SQL Server 2005的方法
在客户处装分销软件前要装下SQL ...

(No rating)  4-22-2013    Views: 1307   

用户评语

添加评语
当前还没有评语.


.: .: .: .: .:
[ 登陆 ]
北京护航科技有限公司 2006

Novots Technologies Limited