zoukankan      html  css  js  c++  java
  • 在ASP.NET 中备份和恢复SQLServer 2005.

    因为在一个ASP.NET项目中需要集成SQLSERVER 2005的备份和恢复功能.正如网上大多数文章所说.备份关不复杂.存储过程即可解决问题.恢复颇为费神.一开始就想到了使用SQL SERVER 2005和托管编程.
    编译调试报错:
        The specified module could not be found. (Exception from HRESULT: 0x8007007E) 
        百思不得其解,后升级SQL SERVER 2005 至 SP2.问题解决:-)
        但是具体是什么BUG因为时间原因未深究.这里贴出来让遇到同样问题有朋友指个路,少走弯路.具体恢复代码:
       

    /*=====================================================================================
        *Name:Restore DataBase
        *Author:Boon Chu
        *Date: 2007-12-10
        *KeyWord:Microsoft.SqlServer.Management.Smo
        =====================================================================================
    */

         
    public override bool DBRstore(string filename)
         
    {            
                
    try{
                    
    string sername = conn.Split(";".ToCharArray())[0].Replace("Data Source=","");
                    Server _serv 
    = new Server(sername);
                    Database _swdb 
    = _serv.Databases["MYDATABSE"];
                    
    if (_swdb.DatabaseOptions.UserAccess != DatabaseUserAccess.Single)
                    
    {
                        _swdb.DatabaseOptions.UserAccess 
    = DatabaseUserAccess.Single;
                        _swdb.Alter();
                    }

                    BackupDeviceItem bdi 
    = new BackupDeviceItem(filename, DeviceType.File);
                    Restore _r 
    = new Restore();
                    _r.Action 
    = RestoreActionType.Database;
                    _r.NoRecovery 
    = false;
                    _r.ReplaceDatabase 
    = true;
                    _r.Devices.Add(bdi);
                    _r.Database 
    = "SWO2_07";
                    _r.SqlRestore(_serv);
                }

                
    catch (Microsoft.SqlServer.Management.Common.SqlServerManagementException e)
                
    {
                    
    throw new Exception(e.Message);
                }

                
    return true;
        }


     

  • 相关阅读:
    打开模拟器genymotion 的设置 查询设置的包名
    python 地板除 向下取整 取比目标结果小的的最大整数
    python 复数
    python 0.1+0.2 不等于0.3 的处理办法
    python 利用随机数的种子,复现随机数
    小程序 单独页面的js文件里设置 数据绑定
    问题集
    2020软件工程个人作业06——软件工程实践总结作业
    2020软件工程作业05
    2020软件工程作业04
  • 原文地址:https://www.cnblogs.com/apexchu/p/988850.html
Copyright © 2011-2022 走看看