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);

  • 相关阅读:
    .NET Core 初次上手Swagger
    SQL server字符串分割成表-表分割为字符串
    C# DataTable、DataSet、List、相互转换
    .NET core Quartz 定时任务框架 demo
    SQL 乐色干货笔记
    .NET-异步操作
    .NET Core随笔把数据库数据查出来转JSON并输出
    ASP.NET Nlog上手练习小例子
    C# 数据类型
    获取Excel
  • 原文地址:https://www.cnblogs.com/zhtbk/p/5148716.html
Copyright © 2011-2022 走看看