SQL Server Express数据库自动备份

由于SQL Server Express作为微软发布的免费版本,所以功能上和正式版相比有所缺少。自动备份数据库需要SQL Server Agent服务,但是express版则没有该服务,所以我们只能自己用其他的方法来执行自动备份。

  • SQL Server Agent 主要包括以下几个组件:作业、警报、操作。
  • 本文主要演示的系统为WIN7和Windows Server 2008,2003和XP没试过,应该也差不多,2012系统差别就更加不大了。
  • 另外可以参考MSDN官方的资料:
  • 要实现SQL Server Express自动备份数据库有两种方式:

    一种是自己编写WindowsService服务程序,然后调用数据库中的备份存储过程

    还有一种是使用系统自带的任务计划程序。

    本文主要详细讲述使用WIN7/08系统的任务计划程序来实现自动备份数据库功能,这也是本人推荐的方法,除非有条件自己编写一个服务程序或者本身项目中就有服务程序,这倒是可以考虑使用服务程序来实现。

    <h2 class="radius_h2">实现EXPRESS速成版自动备份的具体步骤:

    步骤一:

    首先我们要先编写好备份数据库的存储过程,这样可以极大方便我们进行自动备份操作,具体可以参考微软MSDN资料:

    这里先展示我自己的数据库备份存储过程,备份的数据库是InformationManagementSystem,备份文件存放位置是E:\Database\Backup,示例:

    . ( NOCOUNT ( ( ((),(), </span><span style="color: #0000ff;"&gt;SET</span> <span style="color: #008000;"&gt;@backupLocation</span><span style="color: #808080;"&gt;=</span><span style="color: #008000;"&gt;@backupLocation</span><span style="color: #808080;"&gt;+</span>N<span style="color: #ff0000;"&gt;'InformationManagementSystem</span><span style="color: #ff0000;"&gt;_full_</span><span style="color: #ff0000;"&gt;'</span><span style="color: #808080;"&gt;+</span><span style="color: #008000;"&gt;@curdate</span><span style="color: #808080;"&gt;+</span> N<span style="color: #ff0000;"&gt;'</span><span style="color: #ff0000;"&gt;.bak</span><span style="color: #ff0000;"&gt;'</span><span style="color: #000000;"&gt;; </span><span style="color: #0000ff;"&gt;BACKUP</span> <span style="color: #0000ff;"&gt;DATABASE</span> opsdata <span style="color: #0000ff;"&gt;TO</span> <span style="color: #0000ff;"&gt;DISK</span> <span style="color: #808080;"&gt;=</span> <span style="color: #008000;"&gt;@backupLocation</span> <span style="color: #0000ff;"&gt;WITH</span> FORMAT,NAME <span style="color: #808080;"&gt;=</span> <span style="color: #008000;"&gt;@name</span><span style="color: #000000;"&gt;; </span><span style="color: #008080;"&gt;--</span><span style="color: #008080;"&gt;FORMAT完全新建/覆盖一个文件 NOFORMAT 将把备份追加到同一个文件中,还原的时候可以选择不同备份的时间点还原</span> <span style="color: #008080;"&gt;/*</span><span style="color: #008080;"&gt;差异备份</span><span style="color: #008080;"&gt;*/</span> <span style="color: #008080;"&gt;--</span><span style="color: #008080;"&gt;BACKUP DATABASE [TestBackup] TO DISK = N'E:\Database\Backup\TestBackupDB-diff2.bak' WITH DIFFERENTIAL,</span> <span style="color: #008080;"&gt;--</span><span style="color: #008080;"&gt;NAME = N'InformationManagementSystem-Differential Database Backup'</span>

    <span style="color: #0000ff;">END
    <span style="color: #0000ff;">GO

    这里我们可以运行下存储过程测试下,直接在SQL SERVER EXPRESS中新建查询然后运行语句:

    proc_FluBackupDatabase @backupLocation='E:\Database\Backup\'

    步骤二:

    这里我们要编写一个批处理文件,主要是让系统自动执行这个批处理文件,而批处理文件的语句则调用了sqlcmd命令来运行数据库备份的存储过程。

    假设我们的批处理文件放在"F:\Database\Backup",我们先右键新建一个文本文件,将下面的执行语句复制到文本中并保存(

    folderE:\\ exist folder md folderS . E Q " opsdata.dbo.proc_FluBackupDatabase "::测试时避免命令窗口自动关闭一闪而过可以新起一行 输入 pause

    保存成功后将文件后缀改成.bat,比如“DBbackup.bat"。

    上述中的sqlcmd命令是执行一个存储过程,具体可以参考MSDN的资料: ,-S .指定要连接的 SQL Server 实例为本地数据库,-E表示使用使用信任连接而不用输入数据库用户和密码,-Q表示在 sqlcmd 启动时执行查询,随后立即退出 sqlcmd,这些命令选项是区分大小写的,小写则是其他的命令,这里一定要注意!!!

    步骤三:

    打开开始菜单=》附件=》系统工具=》任务计划程序  或者直接在系统任务栏搜索 任务计划程序

    步骤四:

    右键任务计划程序,选择创建任务,如下图设置相关基础信息:

    这里要注意的是在安全选项的用户账号要选择当前系统账号,比如上图标记3中的SYSTEM账号,之所以要选择system账号,是由于如果选择当前系统的管理员账号,每次任务计划运行批处理文件的时候,系统都会弹出执行对话框,虽然只是一闪而过,但是还是会对用户造成不必要的干扰。

    还有配置中要选择符合自己操作系统的配置,比如标记4中选择的配置是WIN7和08系统。

    步骤五:

    设置完常规选项后,接下来点击触发器,设置任务自动执行的时间,比如下图中我们设置每天的12点都执行一次自动备份(会自动运行数据库备份的批处理文件),然后点击确定。

    步骤六:

    这里设置我们要执行的操作,选择启动程序,然后浏览并选择步骤二中保存在"F:\Database\Backup\Sqlbackup.bat"的批处理文件,以后每天中午12点都会执行这个自动备份脚本。

    步骤七:

    最后这里设置其他相关选项,这里根据自己的要求进行设置。

    到了这里就大功告成,我们通过使用系统的任务计划程序,从而定时执行批处理脚本,实现了SQL Server Express速成版的自动备份数据库的功能。

    续:

    以上是进行完整备份的操作,如需增加差异备份可以按上述的操作写一个脚本,按以上流程在操作一边。一般完整备份可以每个星期一次,然后每天再做差异备份。

     sql如下:

    本文参考连接:

    版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

    相关推荐


    根据官网 入门 express
    java叫接口control什么的app.get.post等等都是请求方式我们可以在游览器输入localhost端口/或者在Apifox里面写。
    为了前端丢进去的时候可以直接判断中间件就是经过了这个就会被使用可以做一些自己的数据处理什么的。
    Express 文件的上传和下载
    运行命令下载app.js 增加中间件。
    基本模板来的 后面用后就有什么加什么都行。
    此篇完成 增删 刷新文件 的基本操作
    最基本的创建 以及 添加了其他的一些插件 登录接口和四个接口
    由于每个接口都要放就很麻烦 所以做个中间件
    1importre234defstrip_operate(exp):#合并多余的操作符5exp=exp.replace("+-","-")6exp=exp.replace("--","+")7returnexp8910defcal_exp_son(exp_son):#计算两数的乘除11if&
     socket.html<script>//高级api不兼容socket.io//http单向的,socket是双向的,传输都靠tcpletsocket=newWebSocket('ws://localhost:3000')socket.onopen=()=>{//多个页面通信就是先发给服务器,服务器再发给另一个页面socket.send('我
    M模式:类,表示数据的应用程序和使用验证逻辑以强制实施针对这些数据的业务规则。V视图:应用程序使用动态生成HTML响应的模板文件。C控制器:处理传入的浏览器请求的类中检索模型数据,然后指定将响应返回到浏览器的视图模板。简单练习: 1、添加ControllerHelloWorldControlle
    在Node开发中免不了要使用框架,比如express、koa、koa2拿使用的最多的express来举例子开发中肯定会用到很多类似于下面的这种代码varexpress=require('express');varapp=express();app.listen(3000,function(){console.log('listen3000...');});app.use(middle
    node的http创建服务与利用Express框架有何不同原生http模块与使用express框架对比:consthttp=require("http");letserver=http.createServer(function(req,res){//服务器收到浏览器web请求后,打印一句话console.log("recvreqfrombrowser");
    编辑nginx文件vi/usr/local/etcginxginx.confnginx配置如下,配置后需重启nginxnginx-sreloadlocation~.*\.json{roothtml;add_header"Access-Control-Allow-Origin""*";}前端index.html<script>fetch('http://localhost:12
    constexpress=require('express')constapp=express()//步骤的拆解constresult=express.static('./views')app.use(result)//再次托管一下样式表的资源目录app.use('/css',express.static('./css'))//托管JS文件目录app.use('/js&#
    问题描述:最近在做毕设,express里边的中间件(body-parser)失效,req.body获取不到任何值,req.query能获取到值。一开始加body-parser中间件是有用的,直到昨天加了token之后,body-parser失效。试着把token去掉,无济于事,也不是这个问题,也有说版本对不上的,换了中间件的引入方法,还是没用!!! 后
    express官网:---->传送门 expressexpress框架有许多功能,比如路由配置,中间件,对于想配置服务器的前端来说,非常便捷自从node发展之后,基于nodejs的开发框架也不断涌现出来,express就是其中之一,最近简单的写了点express框架的简单的处理请求的demo首先是安装express模块npminstall
    目录问题: 操作:Win+S按键,输入“事件查看器”问题详情:模块DLLC:\ProgramFiles(x86)\IISExpress\aspnetcore.dll未能加载。返回的数据为错误信息。问题:  操作:Win+S按键,输入“事件查看器” 问题详情:模块DLLC:\ProgramFiles(x86)\IISExpress\aspnetcore.dll
    //获取阿里云市场,快递物流记录https://market.aliyun.com/products/56928004/cmapi022273.html?spm=5176.2020520132.101.26.61f97218v18GBF#sku=yuncode1627300000//get_express_log(self::$config['web']['aliyun_AppCode']阿里云市场AppCode,缓存秒数如300秒,'快递公司代