SQL Server數(shù)據(jù)庫(kù)還原的實(shí)際應(yīng)用代碼
此文章主要向大家介紹的是SQL Server數(shù)據(jù)庫(kù)還原的實(shí)際應(yīng)用代碼,由于畢業(yè)設(shè)計(jì)要做一個(gè)關(guān)于數(shù)據(jù)庫(kù)備份與數(shù)據(jù)庫(kù)還原的頁(yè)面。我參考了網(wǎng)上的一段代碼,***是實(shí)現(xiàn)了功能但是我發(fā)現(xiàn)這段程序有一個(gè)比較麻煩的地方,就是數(shù)據(jù)庫(kù)的還原的時(shí)候會(huì)遇到排它性問(wèn)題。
在網(wǎng)上搜索了找到了小白的Blog上轉(zhuǎn)了一個(gè)大富翁論壇上的討論,看了討論后發(fā)現(xiàn)里面提供的方法還不能直接用于ASP.NET。我對(duì)代碼進(jìn)行了稍稍的改動(dòng)
- 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 = ”恢復(fù)成功!
- 已經(jīng)把備份”+path+”恢復(fù)到數(shù)據(jù)庫(kù)”;
- }
- catch(Exception ex)
- {
- infoLabel.Text = ”恢復(fù)失敗!
出錯(cuò)信息如下:
- ” + ex.ToString();
- }
- finally
- {
- myCommand.Connection.Close();
- }
- }
以上的相關(guān)內(nèi)容就是對(duì)SQL Server數(shù)據(jù)庫(kù)的還原的介紹,望你能有所收獲。
【編輯推薦】
- SQL Server設(shè)定過(guò)濾條件提高索引效率
- 安裝MySQL Server 5.0在Linux上
- 詳解SQL Server 2008復(fù)制分區(qū)清理數(shù)據(jù)
- SQL Server 2008 R2連連看 需要微軟平臺(tái)配合
- Oracle數(shù)據(jù)庫(kù)索引和SQL Server的闡述