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备份数据库代码的更多相关文章

  1. php 备份数据库代码(生成word,excel,json,xml,sql)

    单表备份代码: 复制代码代码如下: <?php class Db { var $conn; function Db($host="localhost",$user=" ...

  2. C#操作access和SQL server数据库代码实例

    在C#的学习中,操作数据库是比较常用的技术,而access和sql server 数据库的操作却有着不同.那么,有哪些不同呢? 首先,需要引用不同的类.因为有着不同的数据引擎. access:usin ...

  3. sql server 数据库代码备份及还原代码

    --备份 BACKUP DATABASE [库名称] TO DISK='E:\qq\ddd.bak' --备份并覆盖 BACKUP DATABASE [库名称] TO DISK='E:\qq\ddd. ...

  4. SQLSERVER SQL备份还原代码C#

    public class BakDBHelper { /// <summary> /// 创建数据库备份 /// </summary> public string Create ...

  5. SQL Server数据库代码指令简介

    这些是比较常用的命令操作,事先声明,这些命令是不区分大小写的,我按照我的课本来总结用法和知识点,无用的章节自动省略. 没有一点数据库知识基础的可以等我录制视频,不然可能看不懂,视频链接:http:// ...

  6. 一段后台C#查询SQL Server数据库代码

    using System; using System.Data; using System.Collections.Generic; using System.Linq; using System.W ...

  7. Ubuntu Server下MySql数据库备份脚本代码

    明: 我这里要把MySql数据库存放目录/var/lib/mysql下面的pw85数据库备份到/home/mysql_data里面,并且保存为mysqldata_bak_2012_04_11.tar. ...

  8. JDBC连接sql server数据库的详细步骤和代码

    JDBC连接sql server数据库的详细步骤和代码 JDBC连接sql server数据库的步骤如下: 1.加载JDBC驱动程序: 在连接数据库之前,首先要加载想要连接的数据库的驱动到JVM(Ja ...

  9. JDBC连接sql server数据库的详细步骤和代码 转

    JDBC连接sql server数据库的步骤如下: 1.加载JDBC驱动程序(只做一次): 在连接数据库之前,首先要加载想要连接的数据库的驱动到JVM(Java虚拟机), 这通过java.lang.C ...

随机推荐

  1. 【Spring Boot&&Spring Cloud系列】Spring Boot中使用NoSql数据库Redis

    github地址:https://github.com/AndyFlower/Spring-Boot-Learn/tree/master/spring-boot-nosql-redis 一.加入依赖到 ...

  2. win7 64位系统下读写access数据库以及安装了office32位软件再安装64位odbc的方法

    公司一款软件还在读写access数据库. 问题是我的电脑是win7 64位, 运行程序会报错, 出错信息很明显, 大意是ODBC数据源读写出错. 因此,我需要下载Access ODBC 64位数据源 ...

  3. Python Tkinter Entry(文本框)

    Python学习记录--关于Tkinter Entry(文本框)的选项.方法说明,以及一些示例. 属性(Options) background(bg) borderwidth(bd) cursor e ...

  4. Android6.0中PowerManagerService分析

    转自:http://blog.chinaunix.net/xmlrpc.php?r=blog/article&uid=30510400&id=5569393 概述 一直以来,电源管理是 ...

  5. Oracle 学习之触发器

    1. 触发器简介 触发器是存储在数据库服务器中的程序单元,当一个表或一个视图被改变,或者数据库发生某些事件时,Oracle会自动触发触发器,并执行触发器中的代码.只有在触发器中定义的事件发生时,触发器 ...

  6. sencha touch JsonP 自动提示消息 masked

    //公用类 Ext.define('app.util', { alternateClassName: 'util', statics: { /*为Ext.Viewport添加一个消息提示组件(需要初始 ...

  7. 基本类型算法题目学习(EPI)

    1.关于奇偶校验的方法中,如何快速的求取一个64-bit的数字的奇偶校验位.(如果1的位数为奇数,则奇偶校验位为1,如果1的位数为偶数,则奇偶校验位为0) a.暴力枚举法采用一位一位进行计算,一位一位 ...

  8. TOP100summit 2017:微博如何做到1小时增加一千台服务器应对鹿晗恋情带来的流量暴增

    10月8日中午12点,鹿晗和关晓彤宣布恋情,年近30的我并不关心小鲜肉们的分分合合,但是作为壹佰案例这个软件研发行业自媒体的小编,我更关注因此引发的微博宕机事件. 鹿晗公布恋情的微博获得462884次 ...

  9. java 中静态变量(类变量)与实例变量 静态方法与实例方法

    静态变量: 在类内部中,方法的外部声明的对象而且加上static; 实例变量: 在类内部中,声明不需要加static; 比如: public class Demo{ int i1=0; static ...

  10. windows10下笔记本电脑外接显示器设置

    笔记本屏幕小,故外接一个显示器,方便使用. 我的电脑没有VGA接口,有HDMI接口,所以我买了一个HDMI到VGA接口转换器. 直接把外界显示器安装到笔记电脑上,如下图所示 接下来是屏幕设置 打开系统 ...