SQL Server 数据库作业邮件报警外加数据库备份源码

来源:互联网 发布:西安程序员 编辑:程序博客网 时间:2024/05/22 07:55

 

作业报警步骤:

第一步:


数据库完整备份  存储过程  

create  proc   [dbo].[p_backupdb]  

  @dbname   sysname='',--要备份的数据库名称,不指定则备份当前数据库  

  @bkfname   nvarchar(260)='',--备份文件名,文件名中可以用/DBNAME/代表数据库名,/DATE/代表日期,/TIME/代表时间  

  @bkpath   nvarchar(260)='E:/fullbackup/'--备份文件的存放目录,在该目录下创建每天备份的目录  

  as  

  declare @sql varchar(500)

  if   isnull(@dbname,'')=''   set   @dbname=db_name()  

 

  --备份处理  

  if   isnull(@bkfname,'')=''   set   @bkfname='/DBNAME/_/DATE/.BAK'  

  set   @bkfname=replace(replace(@bkfname,'/DBNAME/',@dbname)  

  ,'/DATE/',convert(varchar(10),getdate(),120))  

  set @sql = @bkpath+ @bkfname

  backup database @dbname to disk = @sql 

 

数据库差异备份 存储过程

  create  proc   [dbo].[p_Diffbackupdb]  

  @dbname   sysname='',--要备份的数据库名称,不指定则备份当前数据库  

  @bkfname   nvarchar(260)='',--备份文件名,文件名中可以用/DBNAME/代表数据库名,/DATE/代表日期,/TIME/代表时间  

  @bkpath   nvarchar(260)='E:/fullbackup/'--备份文件的存放目录,在该目录下创建每天备份的目录  

  as  

  declare @sql varchar(500)

  if   isnull(@dbname,'')=''   set   @dbname=db_name()  

 

  --备份处理  

  if   isnull(@bkfname,'')=''   set   @bkfname='/DBNAME/_/DATE/.BAK'  

  set   @bkfname=replace(replace(replace(@bkfname,'/DBNAME/',@dbname)  

  ,'/DATE/',convert(varchar,getdate(),112))  

  ,'/TIME/',replace(convert(varchar,getdate(),108),':','')) 

  set @sql = @bkpath+ @bkfname

  print @sql

  backup database @dbname to disk = @sql 

  WITH DIFFERENTIAL,FORMAT

 

第二步:

使用存储过程创建作业。(要开启SQL Server 代理服务)

 

第三步:

a:选择作业选项,创建作业。

b:在基本的作业创建完成之后,添加警报内容,并选择报警类型和所用数据库。

c:在响应选项中,添加操作员并勾选电子邮件。

d:在通知选项中,选择作业完成时要做的操作,选择电子邮件选项就OK,要注意的是操作员的内容添加,其中的电子邮件是指操作员接收的电子邮件地址。

e:控制面板->邮件->显示配置文件,添加自定义邮件配置文件,并对电子账户进行配置,这个电子邮件地址就是你用来发送的电子邮件,

 将邮件设置好之后,选择测试账户设置,看看是否成功,如果失败,就 查看其他设置选项,在发送服务器选项卡中勾选我的发送服务器要求验证选项,使用与接收邮件相同的设置,这时候在测试,应该可以解决问题。

f:回到sqlserver对象资源管理器,右击SQL Server代理,选择属性->报警系统,勾选启用邮件配置文件,使用数据库邮件,并加载配置文件。到此,一切设置已经OK。

原创粉丝点击