C#编写强大的SQL Server数据库自动备份服务

点击上方“程序员大咖”,选择“置顶公众号”

关键时刻,第一时间送达!640?640?wx_fmt=gif


来源:听风.

cnblogs.com/bq-blog/p/9428610.html

程序员大咖整理发布,转载请联系作者获得授权


数据库自动备份服务,带配置,还算可以。

编写了一个这样的工具,可以让对数据库不了解或不熟悉的人,直接学会使用备份,省时省力。同样我也将一份,通过脚本进行备份的,也奉献上来。

一、通过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: 使用管理员,打开部署脚本

640?wx_fmt=png

图2: 根据指示进行配置操作,输入1 是进入配置

640?wx_fmt=png

图3: 配置界面

640?wx_fmt=png

图4: 安装完成后,启动服务

640?wx_fmt=png

好了,全部操作演示完毕,是不是说,那么师傅,代码呢?

下载地址:

https://download.csdn.net/download/l9861226/10585437

640?wx_fmt=gif640?【点击成为源码大神】

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值