因服务器安装的SQL Server版本不支持自动定时备份,需自行实现,大概思路为:

  1. 创建备份数据库的脚本
  2. 创建批处理脚本执行步骤一中的脚本
  3. 创建Windows定时任务执行步骤二中的脚本

1. 创建SQL脚本

新建db_backup.sql文件,填入以下内容。

-- 定义需要备份的数据库DECLARE @backupDatabase VARCHAR(20) = 'DB_NAME'-- 定义数据库备份文件存放的基础路径DECLARE @backupBasePath VARCHAR(MAX) = 'D:/DB_NAME/'-- 定义备份文件名,文件名格式:<DB>_backup_<yyyyMMdd>_<HH:mm:ss.SSS>.bakDECLARE @backupFileName VARCHAR(50) = NULL-- 获取当前时间戳DECLARE @backupTime DATETIME = CURRENT_TIMESTAMP-- 处理备份文件名称SET @backupFileName = @backupDatabase + '_backup_' + CONVERT(VARCHAR(25), @backupTime, 112) + '_' + REPLACE(CONVERT(VARCHAR(25), CURRENT_TIMESTAMP, 114), ':', '') + '.bak'-- 处理完整的备份文件路径SET @backupBasePath = @backupBasePath + @backupFileName-- 执行备份BACKUP DATABASE @backupDatabase TO DISK = @backupBasePath

到这里已经可以使用脚本对数据库进行备份,但仍需手动执行脚本,无法实现自动定时备份的需求。

2. 创建批处理脚本

新建db_backup.bat文件,填入以下内容。

sqlcmd -S localhost -U sa -P 123 -i ./db_backup.sql -o ./db_backup.log
sqlcmd -S <数据库连接地址> -U <数据库登录名> -P <数据库密码> -i <要执行的脚本文件> -o <执行日志文件>

双击执行批处理文件,如果没有报错且正常输出日志文件,则说明批处理脚本创建成功。

3. 创建Windows任务计划

使用win+r快捷键打开运行对话框,输入taskschd.msc打开任务计划程序对话框,点击创建任务,依次进行以下步骤:

  1. 输入任务名称
  2. 如果是服务器环境,安全选项中务必选择不管用户是否登录都要运行
  3. 新建触发器
  4. 设置触发器为按预定计划执行一次
  5. 在触发器高级设置中选择重复任务间隔根据需要设置,持续时间设置为无限期。这样配置的结果就是在触发后,无限期地每隔xx时间段重复一次
  6. 新建操作
  7. 选择刚才新建的批处理脚本
  8. 检查批处理脚本中是否包含有关目录结构的语句,比如需要读写某个位置的文件。如果有且是Windows Server 2012及以后的操作系统,就需要配置起始位置,起始位置设置为批处理的目录即可。

完成以上步骤后即创建任务成功,然后选中新创建的任务,点击右键选择运行,可测试任务是否可正常执行。

更多相关文章

  1. MySQL系列多表连接查询92及99语法示例详解教程
  2. 基于MQTT实现Android消息推送(Push)
  3. android ndk编译x264开源(用于android的ffmpeg中进行软编码)
  4. Android(安卓)- Manifest 文件 详解
  5. Android的Handler机制详解3_Looper.looper()不会卡死主线程
  6. Selector、shape详解(一)
  7. android2.2资源文件详解4--menu文件夹下的菜单定义
  8. Android(安卓)ROM的创建和烧录
  9. Android(安卓)ASE 脚本环境

随机推荐

  1. Linearlayout和relativeLayout的属性的一
  2. Android中的单元测试
  3. Android2.2 API 中文文档系列(3) —— Acce
  4. android 邮件开发(javax.mail)
  5. Android SDK Android NDK Android Studio
  6. Android(安卓)init.rc文件简单介绍
  7. Android 初级(待续)
  8. android 环境搭建
  9. android中ListView拖动时背景黑色的问题
  10. Android夜间模式实现