亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > .NET > 正文

用ASP.NET還原與恢復Sql server

2020-01-18 01:54:41
字體:
來源:轉載
供稿:網友

  上次做了個項目,涉及到數據庫的還原和恢復,到網上找了一下,是利用SQLDMO實現的,只要添加SQLDMO引用就好了,然后利用下邊的類的方法就可以實現了。

  我把原作者的類擴充了一下,可以自動識別web.config里 的數據庫連接字符串,可以通過變量設置還原恢復的信息。

  需要注意的時還原,還原的時候問題最大了,有別的用戶使用數據庫的時候無法還原,解決辦法就是在MASTER數據庫中添加一個存儲過程:

  create proc killspid (@dbname varchar(20))
  as begin declare @sql nvarchar(500)
  declare @spid int set @sql='declare getspid cursor for select spid from sysprocesses where dbid=db_id('''+@dbname+''')' exec (@sql)
  open getspid fetch next from getspid into @spid while @@fetch_status<>-1 begin exec('kill '+@spid
  fetch next from getspid into @spid end close getspid deallocate getspid end GO

  在還原之前先執行這個存儲過程,需要傳遞dbname,就是你的數據庫的名字。下邊是類的原代碼:(web.config里的數據庫連接字符串是constr)

    using System;
    using System.Configuration;
    using System.Data.SqlClient;
    using System.Data;
    namespace web.base_class
    ...{
    /**////
     /// DbOper類,主要應用SQLDMO實現對Microsoft SQL Server數據庫的備份和恢復
    ///
     public class DbOper
    ...{
    private string server;
    private string uid;
    private string pwd;
    private string database;
    private string conn;
    /**////
     /// DbOper類的構造函數
    ///
     public DbOper()
    ...{
    conn=System.Configuration.ConfigurationSettings.AppSettings["constr"].ToString();    server=cut(conn,"server=",";");
    uid=cut(conn,"uid=",";");
    pwd=cut(conn,"pwd=",";");
    database=cut(conn,"database=",";");
    }
   public string cut(string str,string bg,string ed)
    ...{
    string sub;
    sub=str.Substring(str.IndexOf(bg)+bg.Length);
    sub=sub.Substring(0,sub.IndexOf(";"));
    return sub;
    }
   /**////
     /// 數據庫備份
    ///
     public bool DbBackup(string url)
    ...{    SQLDMO.Backup oBackup = new SQLDMO.BackupClass();
    SQLDMO.SQLServer oSQLServer = new SQLDMO.SQLServerClass();
    try
    ...{
    oSQLServer.LoginSecure = false;
    oSQLServer.Connect(server,uid, pwd);
    oBackup.Action = SQLDMO.SQLDMO_BACKUP_TYPE.SQLDMOBackup_Database;
    oBackup.Database = database;
    oBackup.Files = url;//"d:/Northwind.bak";
    oBackup.BackupSetName = database;
    oBackup.BackupSetDescription = "數據庫備份";    oBackup.Initialize = true;    oBackup.SQLBackup(oSQLServer);
    return true;
    }
   catch
    ...{
    return false;
    throw;
    }
   finally
   ...{
    oSQLServer.DisConnect();
    }
   }
///數據庫恢復 ///
  public string DbRestore(string url)
 { if(exepro()!=true)
//執行存儲過程 { return "操作失敗"; }
else { SQLDMO.Restore oRestore = new SQLDMO.RestoreClass();
 SQLDMO.SQLServer oSQLServer = new SQLDMO.SQLServerClass();
 try { oSQLServer.LoginSecure = false; oSQLServer.Connect(server, uid, pwd);
 oRestore.Action = SQLDMO.SQLDMO_RESTORE_TYPE.SQLDMORestore_Database;
 oRestore.Database = database;
 oRestore.Files = url;
//@"d:/Northwind.bak";
 oRestore.FileNumber = 1;
 oRestore.ReplaceDatabase = true;
 oRestore.SQLRestore(oSQLServer);
 return "ok"; } catch(Exception e)
 { return "恢復數據庫失敗";
 throw;
 } finally { oSQLServer.DisConnect();
 } } }
    private bool exepro()
 { SqlConnection conn1 = new SqlConnection("server="+server+";uid="+uid+";pwd="+pwd+";database=master");
 SqlCommand cmd = new SqlCommand("killspid",conn1);
 cmd.CommandType = CommandType.StoredProcedure;
 cmd.Parameters.Add("@dbname","port");
 try { conn1.Open();
 cmd.ExecuteNonQuery();
 return true;
 }
catch(Exception ex)
 { return false;
 } finally
 {
conn1.Close();
 }
}
}
}

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
色视频www在线播放国产成人| 欧美极品少妇xxxxⅹ免费视频| 91色p视频在线| 久久久最新网址| 日韩中文理论片| 久久人人看视频| 亚洲色图35p| 国产v综合ⅴ日韩v欧美大片| 亚洲国产精品99久久| 国产精品一久久香蕉国产线看观看| 欧美激情视频播放| 国产精品久久久久久久久影视| 97成人精品区在线播放| 国产精品自产拍在线观| 久久久久亚洲精品成人网小说| 秋霞午夜一区二区| 亚洲精品有码在线| 欧美色另类天堂2015| 亚洲三级av在线| 2020久久国产精品| 欧美高清理论片| 国产91精品视频在线观看| 久久精品成人一区二区三区| 亚洲精品视频中文字幕| 国产狼人综合免费视频| 九九九热精品免费视频观看网站| 中文字幕欧美精品日韩中文字幕| 日韩a**中文字幕| 国产精品丝袜白浆摸在线| 日韩美女主播视频| 91国产中文字幕| 亚洲欧美国产精品专区久久| 亚洲色图50p| 国产精品人成电影在线观看| 久久精品国产v日韩v亚洲| 亚洲综合中文字幕在线观看| 自拍视频国产精品| 久久亚洲私人国产精品va| 久久亚洲私人国产精品va| 欧美成人中文字幕在线| 国产精品久久久久久婷婷天堂| 国产精品私拍pans大尺度在线| 亚洲精品成人久久电影| 最近2019中文字幕在线高清| 成人精品一区二区三区电影黑人| www欧美日韩| 日韩av电影院| 国产国语videosex另类| 久久久久久久久网站| 亚洲午夜女主播在线直播| 亚洲精品视频在线观看视频| 国产精品第七影院| 精品中文字幕在线| 久久视频中文字幕| www.欧美三级电影.com| 亚洲一二在线观看| 亚洲欧美激情视频| 久久天天躁狠狠躁老女人| 2021久久精品国产99国产精品| 色999日韩欧美国产| 国模叶桐国产精品一区| 欧美成人午夜剧场免费观看| 国产精品久久久久久久久久尿| 日韩欧美在线播放| 久久久久久999| 91丨九色丨国产在线| 成人久久久久爱| 亚洲激情视频在线观看| 欧美日韩激情视频| 欧美激情视频一区二区三区不卡| 海角国产乱辈乱精品视频| 国产精品国产三级国产aⅴ浪潮| 久久国产精品久久久久久| 91香蕉亚洲精品| 欧美日韩中国免费专区在线看| 日韩免费在线视频| 欧美国产高跟鞋裸体秀xxxhd| 亚洲国产精品一区二区久| www.亚洲天堂| 日韩成人激情在线| www.欧美三级电影.com| 国产a∨精品一区二区三区不卡| 亚洲无av在线中文字幕| 欧美性少妇18aaaa视频| 亚洲高清免费观看高清完整版| 亚洲精品久久久久国产| 欧美激情一级欧美精品| 精品国产福利在线| 久久精品亚洲国产| 亚洲综合大片69999| 欧美激情精品久久久久久蜜臀| 日韩视频一区在线| 日韩欧美精品中文字幕| 国产午夜精品一区理论片飘花| 午夜精品久久久久久久男人的天堂| 日韩在线视频中文字幕| 国产一区二区三区在线观看视频| 91久久国产精品91久久性色| 秋霞成人午夜鲁丝一区二区三区| 欧美电影《睫毛膏》| 精品中文字幕在线| 欧美小视频在线观看| 国模私拍视频一区| 久久6精品影院| 在线免费观看羞羞视频一区二区| 亚洲成人精品久久久| 色哟哟网站入口亚洲精品| 国产精品三级久久久久久电影| 搡老女人一区二区三区视频tv| 欧美精品久久久久久久免费观看| 日韩在线免费av| 国产一区二区三区在线播放免费观看| 日韩在线视频中文字幕| 高清一区二区三区日本久| 欧洲中文字幕国产精品| 亚洲www在线| 2025国产精品视频| 亚洲综合中文字幕68页| 色综合久久精品亚洲国产| 中文字幕欧美精品日韩中文字幕| 国产精品av电影| 亚洲电影第1页| 欧美成人在线网站| 日韩av123| 国模吧一区二区| 国产精品精品视频| 久久久视频免费观看| 黑人巨大精品欧美一区二区免费| 日韩中文字幕在线精品| 久久精品成人欧美大片| 亚洲一区二区自拍| 日韩激情视频在线| 丝袜亚洲另类欧美重口| 欧美久久精品午夜青青大伊人| 国产69精品久久久久久| 91久久久久久国产精品| 日韩av在线精品| 国产精品美女在线观看| 日韩视频亚洲视频| 国产精品青青在线观看爽香蕉| 久久av.com| 97精品一区二区三区| 欧美乱大交做爰xxxⅹ性3| 欧美日韩在线视频观看| 亚洲专区在线视频| 亚洲影院在线看| 91精品国产一区| 少妇高潮久久久久久潘金莲| 成人黄色中文字幕| 琪琪亚洲精品午夜在线| 全球成人中文在线| 国产亚洲精品激情久久| 国产精品一区久久| 国产高清在线不卡| 91亚洲国产成人久久精品网站| 久久亚洲春色中文字幕| 97人人模人人爽人人喊中文字| xxxx欧美18另类的高清| 97热在线精品视频在线观看| 亚洲最大福利视频网| 久久99久久亚洲国产| 国产精品久久久精品| 中文字幕免费精品一区| 国产精品视频26uuu|