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
暂时还没有通过,得等等才通过审核,刚刚上传上
(代码纯手工打造,要点积分,别介意哈)
代码遇到一个小小的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;
}
完事~!!!啦啦啦。。。
C# 编写的SqlServer 数据库自动备份服务,带配置,功能强大的更多相关文章
- C#编写强大的SQL Server数据库自动备份服务
数据库自动备份服务,带配置,还算可以吧 周末抽时间,编写了一个这样的工具,可以让,对数据库不了解或不熟悉的人,直接学会使用备份,省时省力,同样,我也将一份,通过脚本进行备份的,也奉献上来, 通过sql ...
- 好用的SQLSERVER数据库自动备份工具SQLBackupAndFTP(功能全面)
转载:http://www.cnblogs.com/lyhabc/p/3322437.html 挺好用的SQLSERVER数据库自动备份工具SQLBackupAndFTP(功能全面) 这个工具主要就是 ...
- 挺好用的SQLSERVER数据库自动备份工具SQLBackupAndFTP(功能全面)
原文:挺好用的SQLSERVER数据库自动备份工具SQLBackupAndFTP(功能全面) 挺好用的SQLSERVER数据库自动备份工具SQLBackupAndFTP(功能全面) 这个工具主要就是自 ...
- SQLSERVER数据库自动备份工具SQLBackupAndFTP(功能全面)
挺好用的SQLSERVER数据库自动备份工具SQLBackupAndFTP(功能全面) 这个工具主要就是自动备份数据库,一键还原数据库,发送备份数据库日志报告到邮箱,自动压缩备份好的数据库 定期执行数 ...
- 进阶宝典一|SqlServer数据库自动备份设置
很多人都没机会接触到数据库备份,经常操作的要么是数据库管理员,要么是项目负责人.那是不是说数据库备份就不用学了? 不,其实作为开发人员应该要了解数据备份,数据备份的手段有很多:软件备份.脚本备份.其他 ...
- sql server数据库自动备份
SqlServer 数据库自动备份的两种解决方案 SQL Server中的角色(服务器级别和数据库级别角色) SqlServer服务器角色和数据库角色相关操作
- MVC5中Model层开发数据注解 EF Code First Migrations数据库迁移 C# 常用对象的的修饰符 C# 静态构造函数 MSSQL2005数据库自动备份问题(到同一个局域网上的另一台电脑上) MVC 的HTTP请求
MVC5中Model层开发数据注解 ASP.NET MVC5中Model层开发,使用的数据注解有三个作用: 数据映射(把Model层的类用EntityFramework映射成对应的表) 数据验证( ...
- SQL Server2008数据库自动备份步骤
一, 在电脑开始菜单中选择“SQL Server Management Studio”双击.在出现的界面中点击“连接”按钮. 二, 在出现的“ Microsoft SQL Server Manag ...
- Windows下Oracle数据库自动备份批处理脚本
expdb命令版本 @echo off REM ########################################################### REM # Windows Se ...
随机推荐
- nrm操作
nrm操作 nrm use cnpm // 选择镜像nrm ls //查看镜像
- mybatis 传入集合参数遍历 查询总结
出自:http://blog.csdn.net/u013628152/article/details/51184641 1. findByIds(List ids) 如果参数的类型是List, 则在使 ...
- 【冷门】 C# 小技巧之获取变量名称
今天在自我规范程序设计的时候,变量名匹配字符串来自配置文件,网上找了一会儿发现也有朋友在找寻这种方式,很不容易找到一个解决方案来自http://www.th7.cn/Program/net/20140 ...
- 拼接sql
String whereArgs = taskTable + " where 1=1 "; if (upCheck) { whereArgs += " and type ...
- 游戏动作师使用Unity3D遇到过的所有问题
http://blog.csdn.net/onafioo/article/details/50865169 http://www.gameres.com/thread_480489.html 文/拉撒 ...
- devcloud 基础架构
- C++ std::unordered_multimap
std::unordered_multimap template < class Key, // unordered_multimap::key_type class T, // unorder ...
- DWR 3.0 入门示例教程
DWR(Direct Web Remoting) DWR is a Java library that enables Java on the server and JavaScript in a b ...
- Hash校验工具、MD5 SHA1 SHA256命令行工具
MyHash 检验工具http://www.zdfans.com/html/4346.html HashMyFiles Hash校验工具http://www.nirsoft.net/utils/has ...
- mysql 存储过程学习(总)
#一.存储过程和存储函数的创建案例 CREATE PROCEDURE myprocedure(in a int,in b int ,OUT c INT) BEGIN set c=a+b; end; c ...