SqlServer 2008 R2定时备份数据库,并且发送邮件通知
原文:SqlServer 2008 R2定时备份数据库,并且发送邮件通知

先配置数据库的邮件设置,这样才可以发送邮件。

2.

3.

4.

5.

6.

7.

8.

9.

10.

总的预览图,如图

执行这一段(先发送备份邮件,然后进行数据备份,将昨天的发送数据插入到另一张表中,这样表中的数据也很小,查询也很快,充分利用数据库的表空间,进行拆表是一件提高查询和插入速度很快的一种方案)

/******发送邮件通知******/
USE OpenMas
GO
DECLARE @mailContent NVARCHAR(2000),@num int,@totalMessageCount int,@sys_usr NVARCHAR(30);
SET @sys_usr = SYSTEM_USER;
SELECT @num = ISNULL(COUNT(1),0) FROM SMSSentLog WHERE YEAR(SendTime) = YEAR(GETDATE()-1) AND MONTH(SendTime)= MONTH(GETDATE()-1) AND DAY(SENDTIME) = DAY(GETDATE()-1)
SELECT @totalMessageCount = ISNULL(SUM(MessageCount),0) FROM SMSSentLog WHERE YEAR(SendTime) = YEAR(GETDATE()-1) AND MONTH(SendTime)= MONTH(GETDATE()-1) AND DAY(SENDTIME) = DAY(GETDATE()-1)
--PRINT cast(@num as nvarchar)  + '-'+ cast( @totalMessageCount as nvarchar)
SET @mailContent = '备份发送记录表邮件内容:时间:'+ CONVERT(varchar(100), GETDATE(), 25)+',备份条数:'+CAST(@num AS NVARCHAR) +'条,总发送量:'+CAST( @totalMessageCount AS NVARCHAR)+',登录数据库账号:'+@sys_usr+' 来自OpenMas机'
--PRINT @mailContent
USE msdb
EXEC dbo.sp_send_dbmail
@recipients='yanghenglian@163.com',
@subject='数据库表数据备份通知',
@body =@mailContent
GO/*每天凌晨(两点钟)将昨天(2015-1-9)的发送短信插入到指定月份的表(SMSSentLog201501)*/
USE OpenMas
--定义参数
--年份
DECLARE @year NVARCHAR(10)
--月份
DECLARE @month NVARCHAR(10)
--日
DECLARE @day NVARCHAR(10)
--动态表名称
DECLARE @tableName NVARCHAR(20)
--动态构建脚本
DECLARE @Sql NVARCHAR(2000)
--赋值(昨天的年月日是多少)
SET @year = YEAR(GETDATE()-1)
SET @month =MONTH(GETDATE()-1)
SET @day  = DAY(GETDATE()-1)     --动态构建表名称(需要导入到备份表的名称)SET @tableName  = 'SMSSentLog'+ @year + CASE WHEN LEN(@month)=1 THEN  '0'+ @month ELSE @month  END--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

posted on 2015-06-02 09:15 NET未来之路 阅读(...) 评论(...) 编辑 收藏

转载于:https://www.cnblogs.com/lonelyxmas/p/4545490.html

SqlServer 2008 R2定时备份数据库,并且发送邮件通知相关推荐

  1. SQL SERVER定时备份数据库

    SQL SERVER定时备份数据库 点击 "管理"--"sql server代理"--"作业" 新建作业: 常规选项卡里,"名称& ...

  2. linux定时备份文件到指定文件夹,Linux定时备份数据库到指定邮箱的方法

    一.配置邮箱 这里使用的是网易邮箱126邮箱的STMP服务,服务器是smtp.126.com.如果你使用其它第三方邮箱,在帐号设置那里一般都有说明SMTP服务器地址. 如果你的Ubuntu没有安装ma ...

  3. sqlserver 2008 R2安装失败 TDSSNIClient初始化失败 0x80090331

    最近安装sqlserver 2008 R2,在安装过程中报错:等待数据库引擎恢复句柄失败的错误. 安装过程可以忽略这个错误,继续完成安装. 以管理员方式启动cmd,进入目录:C:\Program Fi ...

  4. SQL Server 2008 R2如何开启数据库的远程连接

    SQL Server 2008 R2如何开启数据库的远程连接 转载于:https://www.cnblogs.com/macT/p/10213025.html

  5. MySQL 实战 定时备份数据库

    在操作数据过程中,可能会导致数据错误,甚至数据库奔溃,而有效的定时备份能很好地保护数据库.本篇文章主要讲述了几种方法进行 MySQL 定时备份数据库. 一. mysqldump命令备份数据 在MySQ ...

  6. sqlserver在linux数据备份,SQLServer数据库之sqlserver for linux自动备份数据库脚本

    本文主要向大家介绍了SQLServer数据库之sqlserver for linux自动备份数据库脚本,通过具体的内容向大家展现,希望对大家学习SQLServer数据库有所帮助. 不多说直接上脚本 # ...

  7. [数据库] Navicat for MySQL定时备份数据库及数据恢复

    在做数据库修改或删除操作中,可能会导致数据错误,甚至数据库奔溃,而有效的定时备份能很好地保护数据库.本篇文章主要讲述Navicat for MySQL定时备份数据库和数据恢复等功能,同时可以定时播放电 ...

  8. 远程mysql定时删除数据_mysql定时备份数据库 删除历史文件 将备份数据库传送到另外服务器...

    定时备份数据库脚本并压缩删除历史文件 1.创建备份脚本 vim   mysql-backup.sh #!/bin/bash bak=`date +%y-%m-%d-%H` tool=/usr/loca ...

  9. MsSql2005如何进行自动定时备份数据库

    MsSql2005如何进行自动定时备份数据库?(备份按照年月日来命名) 思路:先在要备份的数据库中新建一个创建备份文件的存储过程,使用维护中的计划来定时调动这个存储过程,来达到定期备份数据库的目的.具 ...

最新文章

  1. gridview中动态绑定通过模板列增加的textbox。
  2. 命令行使用.so文件内的函数_如何使用SFC命令行工具修复Windows 10系统文件
  3. 最优化评分法c语言,最优化方法及其实现(Optimization-Algorithm)C语言
  4. 【小白学习C++ 教程】十一、C++类中访问修饰符
  5. mysql-3 检索数据(1)
  6. jgroups传输消息_使用JGroups进行ElasticMQ消息复制
  7. [html] 如何实现默认显示git的第一帧图片,当鼠标经过时,播放完整的gif动画
  8. unix 获取程序占用内存_如何减少Docker和Kubernetes中的JVM应用程序内存占用
  9. 如何简单快速的修改Bootstrap
  10. Windows 会有开源的一天吗?
  11. 分享400个微信小程序模板和小程序设计模板
  12. 基于Qt开发的AES文件加解密工具
  13. 鸿蒙开放beta版有什么用,鸿蒙2.0beta活动有什么内容 鸿蒙2.0 Beta手机版什么时候发布...
  14. Oxffff转换成十进制
  15. connectbot 1.8.2 下载from github
  16. NOI 题目 试题 目录 信奥 历年
  17. 一张图看懂VLAN数据帧接收流程中Access端口与Trunk端口的工作流程
  18. Cypress系列(50)- wrap() 命令详解
  19. 核与线程 CPU 4核8线程 的解释
  20. ArcGIS基础实验操作100例--实验21按区域修改栅格值

热门文章

  1. Apollo本地jar包启动方法
  2. mysql存储过程在实际开发中怎么用_MYSQL存储过程开发中怎么使用游标嵌套
  3. JDBC有这一篇就够了(万字JDBC附代码详解)
  4. android倒计时功能,Android 实现列表倒计时功能
  5. 填谷式无源pfc电路_有源PFC电路上各个元件的作用-安泰维修
  6. python 常量_大疆机甲大师Python开发: 两只老虎
  7. android 消除标题,Android Activity 去掉标题栏及全屏显示
  8. 用yacc编写的算术运算计算器_Linux里隐藏的计算器,你知道它的奥秘吗?
  9. 如何查看linux下串口信息
  10. SSD201 / SSD202D 在86盒智能网关的应用分享