当前位置: 首页 > 图文教程 > 数据库 > MSSQL > 怎样做sql server数据库的还原

MSSQL
优化SQL Server索引的小技巧
SQL Server的空值处理策略
Windows上的MySQL UDF开发
MS SQLSERVER中如何快速获取表的记录总数
MS SQLSERVER 中如何得到表的创建语句
使用索引调节向导调整应用程序的性能
使用查询分析器调整SQL服务器脚本
SQL Server到Oracle连接服务器的实现
数据库查询结果的动态排序(6)
数据库查询结果的动态排序(7)
保持Oracle数据库优良性能的若干诀窍
数据库管理员制胜之宝
在Linux下访问MS SQL Server数据库
关于如何在查询结果中添加自动编号
如何提取除最新十条记录之外的所有记录?
一个有关DISTINCT的问题解答
关于MSSQL Server中DATETIME类型数据的处理
TOP N 和SET ROWCOUNT N 哪个更快?
金额阿拉伯数字转换为中文的存储过程
谈谈数据从sql server数据库导入mysql数据库的体验

MSSQL 中的 怎样做sql server数据库的还原


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-10-17   浏览: 72 ::
收藏到网摘: n/a

 

以下为引用的内容:
  void restoreButton_Click(object sender, System.EventArgs e)
   {
    string path = pathTextBox.Text;
    string dbname = dbDropDownList.SelectedValue;

    string restoreSql = "use master;";
    restoreSql += "restore database @dbname from disk = @path;";
                string pai = "use master;ALTER DATABASE Wy SET OFFLINE WITH ROLLBACK IMMEDIATE;ALTER DATABASE Wy SET ONLINE WITH ROLLBACK IMMEDIATE";
                SqlConnection conn = new SqlConnection(ConnStr);
                SqlCommand com1 = new SqlCommand(pai, conn);

    SqlCommand myCommand = new SqlCommand(restoreSql, new SqlConnection(ConnStr));

    myCommand.Parameters.Add("@dbname", SqlDbType.Char);
    myCommand.Parameters["@dbname"].Value = dbname;
    myCommand.Parameters.Add("@path", SqlDbType.Char);
    myCommand.Parameters["@path"].Value = path;


    try
    {
                    conn.Open();
                    com1.ExecuteNonQuery();
                    conn.Close();
                    myCommand.Connection.Open();
     myCommand.ExecuteNonQuery();
                    infoLabel.Text = "恢复成功!<br>已经把备份"+path+"恢复到数据库";

    }
    catch(Exception ex)
    {
                    infoLabel.Text = "恢复失败!<br>出错信息如下:<br>" + ex.ToString();
    }
    finally
    {
     myCommand.Connection.Close();

    }
   }