來源:互聯網網民 2006-12-17 07:44:04
評論怎樣做sql server數據庫的還原
怎樣做sql server數據庫的還原 今天由于畢業設計要做一個數據庫備份和還原的頁面。我參考了一段代碼後實現了功能但是我發現這段程序有一個比較麻煩的地方,就是數據庫的還原的時候會遇到排它性問題。
在網上搜索了找到了小白的Blog上轉了一個大富翁論壇上的討論,看了討論後發現裏面提供的方法還不能直接用于ASP.NET。我對代碼進行了稍稍的改動
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();
}
}
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
怎樣做sql server數據庫的還原
怎樣做sql server數據庫的還原 今天由于畢業設計要做一個數據庫備份和還原的頁面。我參考了一段代碼後實現了功能但是我發現這段程序有一個比較麻煩的地方,就是數據庫的還原的時候會遇到排它性問題。
在網上搜索了找到了小白的Blog上轉了一個大富翁論壇上的討論,看了討論後發現裏面提供的方法還不能直接用于ASP.NET。我對代碼進行了稍稍的改動
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();
}
}