SqlServer 2008 R2定时备份数据库,并且发送邮件通知
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了SqlServer 2008 R2定时备份数据库,并且发送邮件通知,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2468字,纯文字阅读大概需要4分钟。
内容图文
先配置数据库的邮件设置,这样才可以发送邮件。
2.
3.
4.
5.
6.
7.
8.
9.
10.
总的预览图,如图
执行这一段(先发送备份邮件,然后进行数据备份,将昨天的发送数据插入到另一张表中,这样表中的数据也很小,查询也很快,充分利用数据库的表空间,进行拆表是一件提高查询和插入速度很快的一种方案)
/* *****发送邮件通知***** */ USE OpenMas GO DECLARE @mailContent NVARCHAR(2000),@numint,@totalMessageCountint,@sys_usrNVARCHAR(30); SET@sys_usr=SYSTEM_USER; SELECT@num=ISNULL(COUNT(1),0) FROM SMSSentLog WHEREYEAR(SendTime) =YEAR(GETDATE()-1) ANDMONTH(SendTime)=MONTH(GETDATE()-1) ANDDAY(SENDTIME) =DAY(GETDATE()-1) SELECT@totalMessageCount=ISNULL(SUM(MessageCount),0) FROM SMSSentLog WHEREYEAR(SendTime) =YEAR(GETDATE()-1) ANDMONTH(SendTime)=MONTH(GETDATE()-1) ANDDAY(SENDTIME) =DAY(GETDATE()-1) --PRINT cast(@num as nvarchar) + ‘-‘+ cast( @totalMessageCount as nvarchar)SET@mailContent=‘备份发送记录表邮件内容:时间:‘+CONVERT(varchar(100), GETDATE(), 25)+‘,备份条数:‘+CAST(@numASNVARCHAR) +‘条,总发送量:‘+CAST( @totalMessageCountASNVARCHAR)+‘,登录数据库账号:‘+@sys_usr+‘ 来自OpenMas机‘--PRINT @mailContent USE msdb EXEC dbo.sp_send_dbmail @recipients=‘yanghenglian@163.com‘, @subject=‘数据库表数据备份通知‘, @body=@mailContentGO/*每天凌晨(两点钟)将昨天(2015-1-9)的发送短信插入到指定月份的表(SMSSentLog201501)*/USE OpenMas --定义参数 --年份DECLARE@yearNVARCHAR(10) --月份DECLARE@monthNVARCHAR(10) --日DECLARE@dayNVARCHAR(10) --动态表名称DECLARE@tableNameNVARCHAR(20) --动态构建脚本DECLARE@SqlNVARCHAR(2000) --赋值(昨天的年月日是多少)SET@year=YEAR(GETDATE()-1) SET@month=MONTH(GETDATE()-1) SET@day=DAY(GETDATE()-1) --动态构建表名称(需要导入到备份表的名称)SET@tableName=‘SMSSentLog‘+@year+CASEWHENLEN(@month)=1THEN‘0‘+@monthELSE@monthEND--PRINT @year + ‘-‘ + @month + ‘-‘ + @tableNameSET@Sql= N‘INSERT INTO ‘+@tableName+‘(Id,Channel,SystemCode,CompanyId,CompanyCode,CompanyName,UserId,UserCode,UserName ,AccountCode,ApplicationCode,MessageID,MessageContent,MessageCode,ExtendCode,DestinationAddress,CustomerName,SendType,SendTime,IsWapPush,MessageCount,WapUrl,CreateTime,GatawayStatus) SELECT Id,Channel,SystemCode,CompanyId,CompanyCode,CompanyName,UserId,UserCode,UserName ,AccountCode,ApplicationCode,MessageID,MessageContent,MessageCode,ExtendCode,DestinationAddress,CustomerName,SendType,SendTime,IsWapPush,MessageCount,WapUrl,CreateTime,GatawayStatus FROM SMSSentLog WHERE YEAR(SendTime) = ‘+@year+‘ AND MONTH(SendTime)=‘+@month+‘ AND DAY(SENDTIME) = ‘+@day+‘;‘--拼接删除语句,是否要删除SET@Sql=@Sql+‘DELETE FROM SMSSentLog WHERE YEAR(SendTime) =‘+@year+‘ AND MONTH(SendTime)=‘+@month+‘ AND DAY(SENDTIME) =‘+@day+‘;‘--PRINT @Sql--执行SqlEXEC sp_executesql @sql
原文:http://www.cnblogs.com/wohexiaocai/p/4544793.html
内容总结
以上是互联网集市为您收集整理的SqlServer 2008 R2定时备份数据库,并且发送邮件通知全部内容,希望文章能够帮你解决SqlServer 2008 R2定时备份数据库,并且发送邮件通知所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。