SQL备份数据库代码
SQL备份数据库代码
#region 服务每天备份一次数据库
/// <summary>
/// 服务每天备份一次数据库
/// </summary>
public void ServiceForBackupDatabaseEveryDay()
{
Thread thread = new Thread(new ThreadStart(BackupDatabaseEveryDay));
thread.IsBackground = true;
thread.Start();
} private void BackupDatabaseEveryDay()
{
while (true)
{
try
{
//每天凌晨1点进行全备份
if (DateTime.Now.Hour == )
{
string filename = string.Format("Grandmap.Cms_Full_{0}.bak", DateTime.Now.ToString("yyyyMMddHHmmss"));
Hashtable param = new Hashtable();
param.Add("DatabaseName", "Grandmap.Cms");
param.Add("FileName", filename); //<![CDATA[ BACKUP DATABASE $DatabaseName$ TO DISK = '$FileName$';]]>
} Thread.Sleep(TimeSpan.FromHours());
}
catch (Exception ex)
{
Log4Net.Error("每天凌晨1点进行全备份数据库服务异常!", ex);
}
}
}
#endregion #region 每天12点和18点进行一次差异备份
/// <summary>
/// 每天12点和18点进行一次差异备份
/// </summary>
public void ServiceForBackupDatabaseWithDiffrent()
{
Thread thread = new Thread(new ThreadStart(BackupDatabaseWithDiffrent));
thread.IsBackground = true;
thread.Start();
} private void BackupDatabaseWithDiffrent()
{
while (true)
{
try
{
//每天12点和18进行差异备份
if (DateTime.Now.Hour == || DateTime.Now.Hour == )
{
string filename = string.Format("Grandmap.Cms_Diffrent_{0}.bak", DateTime.Now.ToString("yyyyMMddHHmmss"));
Hashtable param = new Hashtable();
param.Add("DatabaseName", "Grandmap.Cms");
param.Add("FileName", filename); //<![CDATA[ BACKUP DATABASE $DatabaseName$ TO DISK = '$FileName$' WITH DIFFERENTIAL;]]>
} Thread.Sleep(TimeSpan.FromHours());
}
catch (Exception ex)
{
Log4Net.Error("每天12点和18进行差异备份数据库服务异常!", ex);
}
}
}
#endregion #region 文件夹创建
/// <summary>
/// 文件夹创建
/// </summary>
public void CreateDir()
{
string filedir = DateTime.Now.ToString("yyyy-MM");
string xmlPath = AppDomain.CurrentDomain.BaseDirectory;
xmlPath = System.IO.Path.GetDirectoryName(xmlPath); if (!xmlPath.EndsWith("\\"))
{
xmlPath += "\\";
} xmlPath = string.Format("{0}DatabaseDir\\{1}", xmlPath, filedir); if (!Directory.Exists(xmlPath))
{
Directory.CreateDirectory(xmlPath);
}
}
#endregion
附:SQL存储过程
-- =============================================
-- Author: 管理员
-- Create date: 2016-03-12
-- Description: 备份数据库
-- =============================================
ALTER PROCEDURE [dbo].[up_BackupDatabase]
-- Add the parameters for the stored procedure here
@Backtype INT,
@Databasename VARCHAR(50),
@Filename VARCHAR(500)
AS
BEGIN
-- SET NOCOUNT ON added to prevent extra result sets from
-- interfering with SELECT statements.
SET NOCOUNT ON; -- 全备份(压缩备份)
IF(@Backtype = 1)
BEGIN
BACKUP DATABASE @Databasename TO DISK = @Filename WITH COMPRESSION;
END --差异备份
IF(@Backtype = 2)
BEGIN
BACKUP DATABASE @Databasename TO DISK = @Filename WITH DIFFERENTIAL;
END
END
SQL备份数据库代码的更多相关文章
- php 备份数据库代码(生成word,excel,json,xml,sql)
单表备份代码: 复制代码代码如下: <?php class Db { var $conn; function Db($host="localhost",$user=" ...
- C#操作access和SQL server数据库代码实例
在C#的学习中,操作数据库是比较常用的技术,而access和sql server 数据库的操作却有着不同.那么,有哪些不同呢? 首先,需要引用不同的类.因为有着不同的数据引擎. access:usin ...
- sql server 数据库代码备份及还原代码
--备份 BACKUP DATABASE [库名称] TO DISK='E:\qq\ddd.bak' --备份并覆盖 BACKUP DATABASE [库名称] TO DISK='E:\qq\ddd. ...
- SQLSERVER SQL备份还原代码C#
public class BakDBHelper { /// <summary> /// 创建数据库备份 /// </summary> public string Create ...
- SQL Server数据库代码指令简介
这些是比较常用的命令操作,事先声明,这些命令是不区分大小写的,我按照我的课本来总结用法和知识点,无用的章节自动省略. 没有一点数据库知识基础的可以等我录制视频,不然可能看不懂,视频链接:http:// ...
- 一段后台C#查询SQL Server数据库代码
using System; using System.Data; using System.Collections.Generic; using System.Linq; using System.W ...
- Ubuntu Server下MySql数据库备份脚本代码
明: 我这里要把MySql数据库存放目录/var/lib/mysql下面的pw85数据库备份到/home/mysql_data里面,并且保存为mysqldata_bak_2012_04_11.tar. ...
- JDBC连接sql server数据库的详细步骤和代码
JDBC连接sql server数据库的详细步骤和代码 JDBC连接sql server数据库的步骤如下: 1.加载JDBC驱动程序: 在连接数据库之前,首先要加载想要连接的数据库的驱动到JVM(Ja ...
- JDBC连接sql server数据库的详细步骤和代码 转
JDBC连接sql server数据库的步骤如下: 1.加载JDBC驱动程序(只做一次): 在连接数据库之前,首先要加载想要连接的数据库的驱动到JVM(Java虚拟机), 这通过java.lang.C ...
随机推荐
- Qt编写可拖动对象+背景地图+多种样式+多种状态(开源)
在很多项目应用中,需要根据数据动态生成对象显示在地图上,比如地图标注,同时还需要可拖动对象到指定位置显示,能有多种状态指示,为此特意编写本控件,全部开源出来,欢迎大家提建议.同时多多支持整套自定义控件 ...
- Android 查看system/bin目录下支持哪些命令?
C:\Users\yonghuming>adb shell "ls system/bin" >log acpiadbdamapp_processapp_process3 ...
- git上传的文件夹为空的时候
1,先删除空的文件夹 参考:https://www.cnblogs.com/wang715100018066/p/9694532.html 2,这个只能说是技巧不能说是方法,原理是在每个空文件夹新建一 ...
- Ajax提交表单时验证码自动验证 php后端验证码检测
本文通过源码展示如何实现表单提交前,验证码先检测正确性,不正确则不提交表单,更新验证码. 1.前端代码 index.html <!DOCTYPE html> <html> &l ...
- Python的容器、生成器、迭代器、可迭代对象的家谱
前言 之前虽然写Python,但是对Python的这些概念也是模模糊糊,知道有一天,看到了一篇文章,讲的透彻,所以就写这篇作为对于这篇高文的读书笔记吧 致谢,该文作者,完全理解Python迭代对象.迭 ...
- 用Android Studio导出jar给Unity3D用
1.新建一个Android Studio工程,选择空Activity 2.创建一个Module 3.将Unity的依赖jar包拷贝到工程的libs下 4.增加Java代码 内容修改如下 package ...
- asp.net搭建mybatis开发环境
mybatis其实就是ibatis的升级版本不仅能在java上使用,asp.net照样可以使用mybatis来开发程序.mybatis是一个比较小巧的ORM框架,类似hibernate.自己试了一下用 ...
- 优秀的第二外语学习网站:Lang-8
想要找native speaker帮你提高自己的写作能力么? 目前了解到的这方面最好的网站:http://lang-8.com 在这个网站上,你可以随便写一些句子或文章,然后就会有native spe ...
- wordpress---page页面数据调用
在wordpress的开发中,会使用wordpress的的页面,那么页面数据该怎么调用呢? 拿到页面的 content: <?php if(have_posts()) : ?> <? ...
- thinkCMF----列表页跳转
thinkCMF列表循环有个:用来循环文章列表. <php> $where=[ 'post.create_time'=>['egt',0] ]; $page=[ 'list_rows ...