C# 编写的SqlServer 数据库自动备份服务,带配置,功能强大
数据库自动备份服务,带配置,还算可以吧
周末抽时间,编写了一个这样的工具,可以让,对数据库不了解或不熟悉的人,直接学会使用备份,省时省力,同样,我也将一份,通过脚本进行备份的,也奉献上来,
- 通过sql脚本进行数据库备份
通过脚本备份数据库,同样也支持压缩,但是需要安装winrar来实现,整体来说也还行,在服务器上创建一个 维护计划,就可以实现,也是很方便的,脚本如下:
EXEC sp_configure 'show advanced options', 1; RECONFIGURE; EXEC sp_configure 'xp_cmdshell', 1; RECONFIGURE; declare @prefix nvarchar(100), @datefile nvarchar(100), @bakfile nvarchar(100), @rarfile nvarchar(100), @rarcmd nvarchar(150), @str_date nvarchar(100), @sql nvarchar(100) --设置备份的目录 set @prefix='D:/DataBase/' set @str_date = replace(replace(replace(convert(varchar(20),getdate(), 120),' ',''),'-',''),':','') set @datefile = 'xx' +@str_date set @bakfile = @prefix+@datefile+'.bak' set @rarfile = @prefix+@datefile+'.rar' --备份 BACKUP Database mpe_db_Data TO DISK = @bakfile WITH NOFORMAT, NOINIT, NAME = N'xx-完整 数据库 备份', SKIP, NOREWIND, NOUNLOAD, STATS = 10 --压缩rar set @rarcmd ='"c:\Program Files\WinRAR\winrar.exe" ' +'a -df ' +@rarfile+' '+@bakfile exec master..xp_cmdshell @rarcmd,NO_OUTPUT;
别问我代码都是干啥的,无非就是打开权限,创建变量、时间戳的文件名、备份脚本、启动备份,哈哈。。都说完了,你也不用问了,
- 你是不是要问,那删除文件呢?
--删除15天之前的备份 set @sql='del d:\DataBase\xx' +rtrim(replace(replace(replace(convert(varchar(20),getdate()-15, 120),' ',''),'-',''),':',''))+'.rar'
为啥删除15天的?你想删除多少天,自己写, -15 的15,随你填写。
好了,言归正传,下面是我编写的windows 服务实现,请看:
- 通过C#编写的windows服务进行数据库备份
使用方法如下
- 通过 服务部署工具.bat 配置和安装windows服务
没了,嘎嘎。。上图
图1 使用管理员,打开部署脚本
图2 根据指示进行配置操作,输入1 是进入配置
图3 配置界面
图4 安装完成后,启动服务
好了,全部操作演示完毕,是不是说,那么师傅,代码呢?
楼下五步走
↓↓↓↓
↓↓↓↓
↓↓↓↓
↓↓↓↓
↓↓↓↓
CSDN下载地址:https://download.csdn.net/download/l9861226/10585437
暂时还没有通过,得等等才通过审核,刚刚上传上
(代码纯手工打造,要点积分,别介意哈)
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
你真的懂JavaScript计时器吗?
在今天之前我一直以为setTimeout这个函数是异步的,无意中看到了一篇关于setTimeout的文章,发现自己以前的认识全是错误的,赶紧总结下。 先看一段代码: var start = new Date(); setTimeout(function(){ var end = new Date(); console.log("Time elapsed: ", end - start, "ms"); }, 500); while (new Date - start <= 1000) { } 运行这段脚本可以看到:Time elapsed的值大概在1001ms左右,肯定会超过1000ms。也就是说:setTimeout失效了,指定的函数并没有在500ms后执行,而是延迟到1000ms后才执行。 再看一段代码: function a() { setTimeout(function(){console.log(1);},0); console.log(2); } a(); 运行这段脚本可以看到:先打印2后打印1,我们在setTimeout里面指定了0ms,希望能立即执行,但是实际上没有...
- 下一篇
eclipse环境下:lombok安装及使用
lombok官网:https://projectlombok.org/ jar包下载路径:https://projectlombok.org/download lombok features:https://projectlombok.org/features/all lombok:通过注解方式减少POJO类的getter和setter等方法来消除冗余代码量 安装 1.下载 lombok.jar 2.官网说是可以双击安装,,,我用这种方法不可行 2.手动安装 (1)将lombok.jar移到eclipse的安装目录 (2)在eclipse.in文件最后加入下面两行 -Xbootclasspath/a:lombok.jar -javaagent:lombok.jar ============= -javaagent:xxx.jar 的jar名称 需要与根目录下的jar名一致, 不一致,可能会出现eclipse无法启动的情况。 (3)重启eclipse,进行代码测试 原始java代码: public class NoteTest { private int noteId; private...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- SpringBoot2整合MyBatis,连接MySql数据库做增删改查操作
- CentOS8安装MyCat,轻松搞定数据库的读写分离、垂直分库、水平分库
- SpringBoot2整合Thymeleaf,官方推荐html解决方案
- Mario游戏-低调大师作品
- 2048小游戏-低调大师作品
- SpringBoot2初体验,简单认识spring boot2并且搭建基础工程
- 设置Eclipse缩进为4个空格,增强代码规范
- Windows10,CentOS7,CentOS8安装Nodejs环境
- MySQL8.0.19开启GTID主从同步CentOS8
- Docker快速安装Oracle11G,搭建oracle11g学习环境