zoukankan      html  css  js  c++  java
  • c# 备份数据库恢复数据库

    /// <summary>
    /// 对数据库的备份和恢复操作,Sql语句实现
    /// </summary>
    /// <param name="cmdText">实现备份或恢复的Sql语句</param>
    /// <param name="isBak">该操作是否为备份操作,是为true否,为false</param>
    private bool BakReductSql(string cmdText, bool isBak)
    {
    SqlCommand cmdBakRst = new SqlCommand();
    SqlConnection conn = new SqlConnection("Data Source=.;Initial Catalog=master;uid=sa;pwd=zqnb_123;");
    try
    {
    conn.Open();
    cmdBakRst.Connection = conn;
    cmdBakRst.CommandType = CommandType.Text;
    if (!isBak) //如果是恢复操作
    {
    string set = "drop database [NbV3.1Db] ";
    cmdBakRst.CommandText =set+ cmdText ;
    }
    else
    {
    cmdBakRst.CommandText = cmdText;
    }
    cmdBakRst.ExecuteNonQuery();
    return true;
    }
    catch (SqlException sexc)
    {
    return false;
    }
    catch (Exception ex)
    {
    return false;
    }
    finally
    {
    cmdBakRst.Dispose();
    conn.Close();
    conn.Dispose();
    }
    }

    private void button1_Click(object sender, EventArgs e)
    {
    string saveAway = @"d:\1.bak";
    string cmdText = @"backup database [NbV3.1Db] to disk='" + saveAway + "'";
    BakReductSql(cmdText, true);
    }

    private void button2_Click(object sender, EventArgs e)
    {
    string openAway = @"d:\1.bak";
    string cmdText = @"restore database [NbV3.1Db] from disk='" + openAway + "'";
    BakReductSql(cmdText, false);
    }

    ----先删除所有的的数据库引用才能还原

    string restoreSql = String.Format("ALTER DATABASE {0} SET OFFLINE WITH ROLLBACK IMMEDIATE  RESTORE DATABASE [{1}] FROM DISK = '{2}' WITH REPLACE", dbName, dbName, openAway);

  • 相关阅读:
    extjs grid renderer用法
    EventListenerList举例
    SQL语句的执行原理
    WPF操作邮箱,发送邮件
    wpf中DataGrid行色变换
    JS获取浏览器和荧屏分辨率
    将数据库的二进制字节转换成图片
    字符串操作类
    ios推送基于YII第三方组件的类库
    数组操作类
  • 原文地址:https://www.cnblogs.com/zhtbk/p/5148716.html
Copyright © 2011-2022 走看看