C# 编写的SqlServer 数据库自动备份服务,带配置,功能强大

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

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

  1. 通过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 服务实现,请看:

  1. 通过C#编写的windows服务进行数据库备份

使用方法如下

  • 通过 服务部署工具.bat 配置和安装windows服务

没了,嘎嘎。。上图

图1 使用管理员,打开部署脚本

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

图3 配置界面

 

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

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

楼下五步走

↓↓↓↓

↓↓↓↓

↓↓↓↓

↓↓↓↓

↓↓↓↓

优快云下载地址:https://download.youkuaiyun.com/download/l9861226/10585437

暂时还没有通过,得等等才通过审核,刚刚上传上

(代码纯手工打造,要点积分,别介意哈)

代码遇到一个小小的bug,当备份数据库巨大时,有的服务器会出现超时现象,我将SqlCommand的 CommandTimeout值设置为3600秒了,问题解决,因为数据大小是32个G,收缩日志之后,所以出现了这个问题,以解决,各位自行修改代码解决即可,代码如下:

 

 

调用处

实现代码如下:

 public static int ExecuteSqlSetTimeOut(string cmdText, int timeOut)
        {
            SqlCommand cmd = new SqlCommand();
            PrepareCommand(cmd, connection, null, CommandType.Text, cmdText, null);
            cmd.CommandTimeout = timeOut;
            int val = cmd.ExecuteNonQuery();
            cmd.Parameters.Clear();
            return val;
        }

完事~!!!啦啦啦。。。

 

 

转载于:https://www.cnblogs.com/bq-blog/p/9428610.html

MSSQL自动备份数据库 MSSQL自动备份数据库 最近项目中,需要用到MSSQL自动定时备份功能,本来想利用C#自己写一个的,但是听说在MSSQL2008中已经集成了功能强大的自动备份功能,于是便提刀上阵,狠狠地琢磨了一番: 首先,打开MSSQL2008,然后在“管理”大类中,双击“维护计划”子类,这时候,如果以前设置过任务计划的,就会显示出任务列表;如果没有,那么什么都不会显示。 在“维护计划”上右击,选 阅读详情

相关推荐

C# SQL Server数据库备份解决方案

本文还有配套的精品资源,点击获取 简介:本文详细介绍了使用C#语言结合SQL Server数据库进行备份的类库应用,重点在于提供一个专门为C#开发者设计的库,用于简化数据库备份的过程。这个类库包含了预定义的方法和类,允许开发者高效地集成备份功能到他们的应用程序中,同时提供了依赖于SQLDMO组件的详细操作步骤。此外,还提到了更现代的SMO库,它支持更高级的备份选项。 ...

weixin_42594419的博客 1471

C#实现每隔一段时间自动备份数据

using System; using System.IO; using System.Windows.Forms; namespace TW_Attach { public class BackupHelper { string sourcePath = null; string destPath = null; /// <summary> /// 启动备份程序 /// </s

stephon_100的博客 2275

C# SQL Server自动备份程序解决方案.zip

本文还有配套的精品资源,点击获取 简介:本程序使用C#编程语言开发,旨在为SQL Server数据库提供自动定时备份功能。该备份程序能够保护数据,防止意外丢失,确保业务连续性。开发者利用Transact-SQL或SMO与数据库交互,并可能通过计划任务或Windows服务来实现定时备份。程序还包括与数据库连接、执行备份命令、定义备份类型和目标、压缩备份以及发送通知等步骤。此外...

weixin_36122351的博客 1212

c#定时备份mysql数据库_C# 编写的SqlServer 数据库自动备份服务,带配置,功能强大...

数据库自动备份服务,带配置,还算可以吧周末抽时间,编写了一个这样的工具,可以让,对数据库不了解或不熟悉的人,直接学会使用备份,省时省力,同样,我也将一份,通过脚本进行备份的,也奉献上来,通过sql脚本进行数据库备份通过脚本备份数据库,同样也支持压缩,但是需要安装winrar来实现,整体来说也还行,在服务器上创建一个维护计划,就可以实现,也是很方便的,脚本如下:EXEC sp_configure ...

weixin_42187923的博客 521

C#服务每日定时备份数据文件

通过windows服务定时对数据库进行备份操作, 通过windows服务定时对数据库进行备份操作, 通过windows服务定时对数据库进行备份操作

SQLServer数据库自动备份软件,C#开发,全网首发

自己用C#语言开发的程序,只有一个可执行程序和一个配置文件,非常简单实用,一直给客户服务器上用的。 私人珍藏版,全网首发。 如果电脑里没有.net framework的,直接安装.net framework 4.0就可以了运行了。 功能介绍: 1、双击打开主界面后,首先进行链接设置,输入正确的服务器IP(127.0.0.1或者localhost或者具体IP地址),数据库登陆账号、密码、数据库名称。 然后保存配置,点击测试连接,会有成功或者失败的提示。 2、主界面可以选择具体要备份的数据库名称 3、设置备份到的路径 4、设置备份的频率,分为每天、每周、每月的具体时间。 5、可以设置开机自动启动 6、设置启动自动启动备份 7、可以设置删除多少天以前的老备份数据,减少硬盘占用。 8、最后保存配置,启动备份即可按照设置好的自动备份了。 如有不懂的可以留言,我会及时为大家解决的。

高效数据库备份利器:C编写的SqlServer自动备份服务

高效数据库备份利器:C#编写的SqlServer自动备份服务 去发现同类优质开源项目:https://gitcode.com/ 项目介绍 在现代数据驱动的应用环境中,数据库的备份是确保数据安全与业务连续性的关键环节。然而,手动备份数据库不仅繁琐,还容易出错。为了解决这一问题,我们推出了一个由C#编写的SqlServer数据库自动备份服务。该服务不仅功能强大,而且配置灵活,即使是数据库新手也能轻松上...

gitblog_09707的博客 877

C#数据库定时备份Windows服务源码

C#数据库定时备份Windows服务源码, 系统管理员可以指定时间,备份类型进行数据备份!

C 编写的SqlServer 数据库自动备份服务

C# 编写的SqlServer 数据库自动备份服务 去发现同类优质开源项目:https://gitcode.com/ 简介 本仓库提供了一个由C#编写的SqlServer数据库自动备份服务。该服务具备强大的功能,并且附带详细的配置文件,使得即使是对于数据库不太熟悉的人,也能轻松上手使用。通过这个工具,您可以省去手动备份数据库的繁琐步骤,节省时间和精力。 功能特点 自动备份:服务能够自动定时备份S...

gitblog_09737的博客 708

C#源码自动备份软件,IO、托盘控件运用等

该项目是在初学c#不久的时候开发的一个winform小程序。 主要功能和技术是: 1、可设置开机自动启动(通过注册表来实现的) 2、实现根据设置的时间自动备份 3、使用了托盘控件,能最小化到托盘控件。 4、使用了文本文件作为数据库

定时任务执行数据库备份任务

windows环境数据库备份任务脚本文件,可以用来添加定时任务执行数据库备份。由于下载次数导致下载所需积分过多。重新提交

上一篇: C#实现复杂XML的序列化与反序列化
下一篇: C# winform截图、web Cropper图片剪切、上传
a617508321
博客等级 码龄11年 1粉丝 0原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值