由于Express版本的数据库没有自动备份数据库的功能,所以需要自己搭建好备份功能

一、具体原理:

1、利用SQL备份命令:Backup Database

2、使用sqlcmd执行备份命令

3、使用系统计划任务定时执行备份

二、具体操作步骤:

1、在数据库创建一个存储过程:sp_BackupDataBase

问:为什么要存储过程来执行Backup命令呢?

答:因为可以有更多的自定义操作

  1. USE [master]
  2. GO
  3.  
  4. /****** Object: StoredProcedure [dbo].[sp_BackupDataBase] Script Date: 2016/6/4 14:40:29 ******/
  5. SET ANSI_NULLS ON
  6. GO
  7.  
  8. SET QUOTED_IDENTIFIER ON
  9. GO
  10.  
  11. -- =============================================
  12. -- Author: <Author,,Name>
  13. -- Create date: <Create Date,,>
  14. -- Description: <Description,,>
  15. -- =============================================
  16. CREATE PROCEDURE [dbo].[sp_BackupDataBase]
  17. -- Add the parameters for the stored procedure here
  18. @Database NVARCHAR(300),
  19. @BackupFolder NVARCHAR(300)
  20. AS
  21. BEGIN
  22. SET NOCOUNT ON;
  23.  
  24. --取得当前时间字符串
  25. Declare @now Varchar(8)
  26. Set @now = Convert(Varchar(8),GETDATE(),112)
  27.  
  28. --组成文件名
  29. Declare @filename Nvarchar(200)
  30. Set @filename = @Database + N'_' + @now + '.bak'
  31.  
  32. --组成完整保存路径
  33. Declare @BackupPath Nvarchar(max)
  34. Set @BackupPath = @BackupFolder + '\' + @filename
  35.  
  36. --备份数据库
  37. BACKUP DATABASE @Database TO DISK = @BackupPath WITH FORMAT;
  38. END
  39.  
  40. GO

2、编写一个bat,使用sqlcmd执行存储过程

  1. @ECHO OFF
  2.  
  3. IF NOT EXIST "C:\DB_Backup" MD "C:\DB_Backup"
  4. sqlcmd -S . -E -Q "sp_BackupDatabase N'要备份的数据库名',N'C:\DB_Backup\'"

3、在系统创建计划任务,定时调用第二部创建的bat

至此,已经能正常自动备份了

注意一点就是,配置运行权限为SYSTEM

MSSQL Express版本自动备份数据库的更多相关文章

  1. MSSQL Server 及 MSSQL Express版本 自动备份

    一.SQL Server Management Studio(SMSS) 维护计划 [参考]SQL SERVER如何定期自动备份数据库 二.Windows 级 任务计划程序( MSSQL Expres ...

  2. mssql server 2005自动备份数据库

    (转) (1)启动[sql server Management Studio],在[对象资源管理器]窗口里选择[管理]——[维护计划]选项. 2)右击[维护计划],在弹出的快捷菜单里选择[维护计划向导 ...

  3. SQLServer2005利用维护计划自动备份数据库

    经常性忘了给数据库备份,结果当数据库发生问题的时候,才发现备份是1个月以前的,那个后悔与懊恼还加惭愧啊,别提有对难受了.要认为的记住去备份比较难,每天事情又那么多,所以有了这个自动备份就不用愁了.先拷 ...

  4. Sql Server自动备份数据库,定期删除备份

    //实现:每天自动备份数据库,定期删除备份 //步骤:[开始]--[所有程序]--[Microsoft SQL Server 2005]--[SQL Server Management Studio] ...

  5. SQL Server 定时自动备份数据库

    在SQL Server中出于数据安全的考虑,所以需要定期的备份数据库,这篇文章介绍使用SQL Server 数据库代理中的作业定时自动备份数据库. 1.启动SQL Server代理服务,如下图: 绿色 ...

  6. 在linux和windows下自动备份数据库

    摘要: 详细介绍在windows和linux下自动备份数据库的过程,希望可以让新手立即上手吧! 本文档内容共分为2大部分:linux和windows Linux和windows都分为:准备工作和操作阶 ...

  7. CentOS下使用crontab+mysqldump实现定时自动备份数据库

    一 : 为什么要进行数据库的备份? 最主要的原因:尽可能地减少损失,包括时间上.精神上和金钱上的损失.很多人都不注意备份数据,以致在发生问题后丢失大量的重要数据.要知道,在地球上网是很危险的,即使做好 ...

  8. php每天自动备份数据库

    php每天自动备份数据库 windows中如何添加计划任务? 前提:添加windows计划任务,每天打开备份数据库的页面.1.打开http://localhost/thinkphp3.2/index. ...

  9. SQL Server 2008、SQL Server 2008R2 自动备份数据库

    让SQL Server 2008自动备份数据库,需要建立一个SQL Server作业,并启动SQL Server代理,使该作业定期运行. 具体来说,可以按以下步骤进行: 一.打开SQL Server ...

随机推荐

  1. TortoiseGit和msysGit安装及使用笔记(windows下使用上传数据到GitHub)[转]

    TortoiseGit和msysGit安装及使用笔记(windows下使用上传数据到GitHub) Git-1.7.11-preview+GitExtensions244SetupComplete+T ...

  2. paip.提升用户体验---c++ qt 取消gcc编译的警告信息.txt

    paip.提升用户体验---c++ qt 取消gcc编译的警告信息.txt 作者Attilax ,  EMAIL:1466519819@qq.com  来源:attilax的专栏 地址:http:// ...

  3. [Redux] React Todo List Example (Toggling a Todo)

    /** * A reducer for a single todo * @param state * @param action * @returns {*} */ const todo = ( st ...

  4. POJ 2502 Subway(迪杰斯特拉)

    Subway Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 6692   Accepted: 2177 Descriptio ...

  5. html拼接数据的时候一定要注意null值的问题

    后台会返回null文本  如果直接拼接 不仅仅格式问题 前台会显示null   如果是图片  用fiddle抓取 还会发现你请求了一个带域名/null的接口     所以要把null格式化为空文本

  6. sql中视图视图的作用

    视图是一个虚拟表,其内容由查询定义.同真实的表一样,视图包含一系列带有名称的列和行数据.但是,视图并不在数据库中以存储的数据值集形式存在.行和列数据来自由定义视图的查询所引用的表,并且在引用视图时动态 ...

  7. centos静默式安装Oracle11g

    1.   Centos及Oracle版本 Centos:CentOS release 6.4 (Final) Oracle:linux.x64_Oracle_11gR2_database 2.   硬 ...

  8. Hashtable键值集合

    //Hashtable键值集合 键必须是维一的 类似于索引 Hashtable ht = new Hashtable(); ht.Add(, "中国"); ht.Add(, ); ...

  9. uva12489 Combating cancer(树同构)

    转载请注明出处: http://www.cnblogs.com/fraud/          ——by fraud https://uva.onlinejudge.org/index.php?opt ...

  10. php 输出昨天,今天,明天是星期几的方法

    <?php //php判断某一天是星期几的方法 function getWeek($unixTime=''){ $unixTime=is_numeric($unixTime)?$unixTime ...