sqlserver数据库备份与还原

来源:互联网 发布:linux退出登录 编辑:程序博客网 时间:2024/04/30 06:50

(1)DBback方法

功能:执行数据库备份操作

参数:备份文件路径、待备份数据库名称

返回值:Bool值,操作成功返回真,否则为假

设计思路:从配置文件中获取数据库连接信息--->>生成数据访问对象--->执行带参数的Sql命令调用存储过程

实现代码如下:

public bool DBback(string path,string DBname)

{

   Sqlconnection myConnection =new Sqlconnection(Configuration.Appsettings["ConnectionString"]);

   string backupSql="use master ; ";

   backupSql+="backup database @dbname to disk=@path ; ";

   SqlCommand mycommand=new SqlCommand(backupSql,myconnection);

   mycommand.Parameters.Add("@dbname",SqlDbType.Char).Value=DBname;

   mycommand.Parameters.Add("@path",SqlDbType.Char).Value=path;

 

     try

        {

            mycommand.Connection.Open();

            mycommand.ExecuteNonQuery();

            mycommand.Close();

        }

 

     Catch(Exception ex)

       {

             myConnection.Close();

             return false;

       }

 

        return true;

}

 

 

 

 

(2)DBRestore 方法

功能:执行数据库还原操作

参数:备份文件路径,待恢复数据库名称

返回值:Bool值,操作成功,返回真,否则为假

设计思路:从配置文件中获取数据库连接信息--->>生成数据访问对象--->>执行带参数的Sql命令调用存储过程

代码如下:

public bool DBRestore(string path,string DBname)

{

         SqlConnection myConnection =new SqlConnection(ConfigurationSettings.Appsetting["ConnectionString"]);

        string restoreSql="use master ; ";

        restoreSql+="restore database @dbname rom disk=@path ; ";

        SqlCommand myCommand=new SqlCommand(RestoreSql,myConnection);

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

        myCommand.Parameters.Add("@dbname",SqlDbType.Char).Value=DBname;;

        try

       {

                     myCommand.Connection.Open();

                     myCommand.ExecuteNonQuery();

                     myConnection.Close();

 

       }

       catch(Exception ex)

        {

              myConnection.Close();

               return false;

       }

 

 

           return true;

}