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 == 1)
            {
                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(1));
        }
        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 == 12 || DateTime.Now.Hour == 18)
            {
                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(1));
        }
        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
时间: 2024-10-04 06:14:13

SQL备份数据库代码的相关文章

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

单表备份代码: 复制代码代码如下: <?php class Db { var $conn; function Db($host="localhost",$user="root",$pass="root",$db="test") { if(!$this->conn=mysql_connect($host,$user,$pass)) die("can't connect to mysql sever"

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

在C#的学习中,操作数据库是比较常用的技术,而access和sql server 数据库的操作却有着不同.那么,有哪些不同呢? 首先,需要引用不同的类.因为有着不同的数据引擎. access:using System.Data.OleDb; sql server:using System.Data.SqlClient; 下面是我写的access和sql 数据库操作的两个类: 1 //1.操作sql数据库的类 2 public class DBOperSQL1 3 { 4 public stati

SQL备份数据库

create proc sp_backupdatabase@bak_path nvarchar(4000)='' --备份路径;,@baktype int = null --备份类型为全备,1为差异备,2为日志备份,@type int = null --设置需要备份的库,0为全部库,1为系统库,2为全部用户库,3为指定库,4为排除指定库;,@dbnames nvarchar(4000)='' --需要备份或排除的数据库,用,隔开,当@type=3或4时生效,@overdueDay int = n

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

明: 我这里要把MySql数据库存放目录/var/lib/mysql下面的pw85数据库备份到/home/mysql_data里面,并且保存为mysqldata_bak_2012_04_11.tar.gz的压缩文件格式(2012_04_11是指备份执行时当天的日期), 最后只保留最近7天的备份. 实现步骤: 1.创建保存备份文件的目录:/home/mysql_datacd /home #进入目录mkdir mysql_data #创建目录2.创建备份脚本文件:/home/mysql_data/m

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

JDBC连接sql server数据库的详细步骤和代码 JDBC连接sql server数据库的步骤如下: [java] view plaincopyprint? 1.加载JDBC驱动程序: 在连接数据库之前,首先要加载想要连接的数据库的驱动到JVM(Java虚拟机), 这通过java.lang.Class类的静态方法forName(String  className)实现. 成功加载后,会将Driver类的实例注册到DriverManager类中. 2.提供JDBC连接的URL •连接URL定

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

JDBC连接sql server数据库的步骤如下: 1.加载JDBC驱动程序(只做一次): 在连接数据库之前,首先要加载想要连接的数据库的驱动到JVM(Java虚拟机), 这通过java.lang.Class类的静态方法forName(String className)实现. 成功加载后,会将Driver类的实例注册到DriverManager类中. 2.提供JDBC连接的URL •连接URL定义了连接数据库时的协议.子协议.数据源标识. •书写形式:协议:子协议:数据源标识 协议:在JDBC中

备份数据库

mysqldump  engine>/data/engine.2014.07.24.sql备份数据库,布布扣,bubuko.com

java sql编辑器 数据库备份还原 quartz定时任务调度 自定义表单 java图片爬虫 java代码生成器

A代码编辑器,在线模版编辑,仿开发工具编辑器,pdf在线预览,文件转换编码B 集成代码生成器 [正反双向](单表.主表.明细表.树形表,快速开发利器)+快速表单构建器 freemaker模版技术 ,0个代码不用写,生成完整的一个模块,带页面.建表sql脚本,处理类,service等完整模块C 集成阿里巴巴数据库连接池druid  数据库连接池  阿里巴巴的 druid.Druid在监控.可扩展性.稳定性和性能方面都有明显的优势D 集成安全权限框架shiro  Shiro 是一个用 Java 语言

分享:mysql异地数据库备份实例代码

分享:mysql异地数据库备份实例代码 mysql现在应用在操作系统中包括有linux系统与windows系统,下面是多备份分享常用的两种系统中实现mysql异地数据库备份,有需要了解的朋友可参考. windows的任务计划定时执行该文件. 文件内容如下: cd F:/MySQLBackup f: mysqldump -h ip -uusername -ppassworddbname>F:/MySQLBackup/PersonBackupMonday.sql username:数据库用户 pas