作业报警步骤:

第一步:


数据库完整备份  存储过程  

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。