sqlserver2005中作成数据库邮件配置文件的存储过程
2008-04-02 11:44
537 查看
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif)
CREATE PROCEDURE [dbo].[CreateMailProfile]
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif)
@profileName sysname,
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif)
@profileDescription nvarchar(256),
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif)
@accountName sysname,
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif)
@accountDescription nvarchar(256),
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif)
@mailAddress nvarchar(128),
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif)
@mailDisplayName nvarchar(128),
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif)
@mailServer nvarchar(128),
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif)
@mailUsername nvarchar(128),
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif)
@mailPassword nvarchar(128)
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif)
AS
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif)
BEGIN
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif)
SET NOCOUNT ON;
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif)
BEGIN TRANSACTION;
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif)
DECLARE @resultStatus datetime;
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif)
SELECT @resultStatus=last_mod_datetime FROM msdb.dbo.sysmail_profile
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif)
WHERE [name] = @profileName;
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif)
IF (@resultStatus IS NOT NULL)
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif)
BEGIN
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif)
--先删除配置文件的用户关联(公用)
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif)
EXECUTE msdb.dbo.sysmail_delete_principalprofile_sp
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif)
@principal_id = 0
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif)
,@profile_name = @profileName;
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif)
EXEC msdb.dbo.sysmail_delete_profile_sp @profile_name = @profileName;
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif)
END;
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif)
DECLARE @profileId int;
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif)
EXECUTE msdb.dbo.sysmail_add_profile_sp
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif)
@profile_name = @profileName,
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif)
@description = @profileDescription,
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif)
@profile_id = @profileId OUTPUT;
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif)
SELECT @profileId;
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif)
--将配置文件变为公用配置
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif)
EXECUTE msdb.dbo.sysmail_add_principalprofile_sp
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif)
@principal_id = 0
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif)
,@profile_id = @profileId
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif)
,@is_default = 1;
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif)
SELECT @resultStatus=last_mod_datetime FROM msdb.dbo.sysmail_account
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif)
WHERE [name]=@accountName;
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif)
IF (@resultStatus IS NOT NULL)
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif)
BEGIN
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif)
EXEC msdb.dbo.sysmail_delete_account_sp @account_name = @accountName;
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif)
END;
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif)
DECLARE @accountId int;
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif)
EXECUTE msdb.dbo.sysmail_add_account_sp
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif)
@account_name = @accountName,
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif)
@description = @accountDescription,
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif)
@email_address = @mailAddress,
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif)
@display_name = @mailDisplayName,
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif)
@mailserver_name = @mailServer,
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif)
@account_id = @accountId OUTPUT;
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif)
SELECT @accountId;
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif)
DECLARE @maxAccountId int;
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif)
SELECT @maxAccountId = ISNULL(MAX(account_id),0) + 1
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif)
FROM msdb.dbo.sysmail_profileaccount
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif)
WHERE profile_id = @profileId;
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif)
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif)
EXECUTE msdb.dbo.sysmail_add_profileaccount_sp
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif)
@profile_id = @profileId,
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif)
@account_id = @accountId,
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif)
@sequence_number = @maxAccountId;
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif)
IF (@@ERROR <> 0)
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif)
BEGIN
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif)
ROLLBACK TRANSACTION;
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif)
END
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif)
ELSE
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif)
BEGIN
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif)
COMMIT TRANSACTION;
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif)
END;
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif)
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数据库- 配置数据库邮件配置的操作过程