sqlserver2005中作成数据库邮件配置文件的存储过程
2008-04-02 11:44
567 查看
CREATE PROCEDURE [dbo].[CreateMailProfile]
@profileName sysname,
@profileDescription nvarchar(256),
@accountName sysname,
@accountDescription nvarchar(256),
@mailAddress nvarchar(128),
@mailDisplayName nvarchar(128),
@mailServer nvarchar(128),
@mailUsername nvarchar(128),
@mailPassword nvarchar(128)
AS
BEGIN
SET NOCOUNT ON;
BEGIN TRANSACTION;
DECLARE @resultStatus datetime;
SELECT @resultStatus=last_mod_datetime FROM msdb.dbo.sysmail_profile
WHERE [name] = @profileName;
IF (@resultStatus IS NOT NULL)
BEGIN
--先删除配置文件的用户关联(公用)
EXECUTE msdb.dbo.sysmail_delete_principalprofile_sp
@principal_id = 0
,@profile_name = @profileName;
EXEC msdb.dbo.sysmail_delete_profile_sp @profile_name = @profileName;
END;
DECLARE @profileId int;
EXECUTE msdb.dbo.sysmail_add_profile_sp
@profile_name = @profileName,
@description = @profileDescription,
@profile_id = @profileId OUTPUT;
SELECT @profileId;
--将配置文件变为公用配置
EXECUTE msdb.dbo.sysmail_add_principalprofile_sp
@principal_id = 0
,@profile_id = @profileId
,@is_default = 1;
SELECT @resultStatus=last_mod_datetime FROM msdb.dbo.sysmail_account
WHERE [name]=@accountName;
IF (@resultStatus IS NOT NULL)
BEGIN
EXEC msdb.dbo.sysmail_delete_account_sp @account_name = @accountName;
END;
DECLARE @accountId int;
EXECUTE msdb.dbo.sysmail_add_account_sp
@account_name = @accountName,
@description = @accountDescription,
@email_address = @mailAddress,
@display_name = @mailDisplayName,
@mailserver_name = @mailServer,
@account_id = @accountId OUTPUT;
SELECT @accountId;
DECLARE @maxAccountId int;
SELECT @maxAccountId = ISNULL(MAX(account_id),0) + 1
FROM msdb.dbo.sysmail_profileaccount
WHERE profile_id = @profileId;
EXECUTE msdb.dbo.sysmail_add_profileaccount_sp
@profile_id = @profileId,
@account_id = @accountId,
@sequence_number = @maxAccountId;
IF (@@ERROR <> 0)
BEGIN
ROLLBACK TRANSACTION;
END
ELSE
BEGIN
COMMIT TRANSACTION;
END;
END
相关文章推荐
- C#连接数据库sqlserver2005,执行存储过程的实例
- C#连接数据库sqlserver2005,执行存储过程的实例
- 通过CLR存储过程删除过期的数据库Bak备份文件
- Ocelot简易教程(七)之配置文件数据库存储插件源码解析
- EMS6.0配置存储到数据库过程中遇到的问题
- log4j 日志文件存储数据库的解决方案一(配置文件中写sql语句)
- 将Oracle数据库改为归档模式并启用RMAN备份 如下Linux环境下对Oracle单节点数据库采用文件系统情况的配置归档模式过程。首先查看数据库归档模式和磁盘使用情况,确定归档文件放到什么位置。
- log4j自定义日志等级;数据库缓冲池存储到数据库;数据库和输出到文件终端分离;发送邮件
- .LOG4J的配置(输出到控制台、文件、回滚文件、发送日志邮件、输出到数据库日志表、自定义标签等全套功能)
- 通过SQL存储过程删除过期的数据库Bak备份文件
- Postgres 数据库安装、配置、备份还原及存储过程
- 利用存储过程数据库中的数据生成txt文件
- 基于WEB调用的SAS存储过程新旧配置文件异同
- 存储过程将.txt.xls文件数据导入数据库表格
- C# WinForm程序App.Config数据库连接配置文件的使用过程
- SqlServer2005(2000)数据库字典,将表数据生成SQL脚本的存储过程 (转)
- 做个友善的系统配置页面、数据库连接串加密方式存储在配置文件的做法参考
- sybase ASE 导出数据库的所有存储过程、触发器到文件
- Postgres 数据库安装、配置、备份还原及存储过程
- MSSQLSERVER数据库- 配置数据库邮件配置的操作过程