同桌上课用手指进去了好爽_欧美丰满熟妇xxⅹⅹ性大i_成人av天天日天天拍拍_猛男gay帅男gay男男同志_欧美va天堂在线观看_人妻无码av中文系列三里桃花_亚欧免费无码在线观看_久久久精品国产亚洲av水_日韩在线免费看污污污_2021无码专区人妻系列日韩

首頁 優(yōu)化推廣 ASP.NET中使用代碼來進行備份和還原數(shù)據(jù)庫

ASP.NET中使用代碼來進行備份和還原數(shù)據(jù)庫

來源: | 時間:2010/10/23 18:41:24 |

Sql代碼
-- 備份數(shù)據(jù)庫   
backup database db_CSManage to disk="c:\backup.bak"  
-- 還原數(shù)據(jù)庫,必須先備份該數(shù)據(jù)庫的日志文件到原先的備份文件中   
backup log db_CSManage to disk="c:\backup.bak"  
restore database db_CSManage from disk="c:\backup.bak"  
-- 備份數(shù)據(jù)庫
backup database db_CSManage to disk="c:\backup.bak"
-- 還原數(shù)據(jù)庫,必須先備份該數(shù)據(jù)庫的日志文件到原先的備份文件中
backup log db_CSManage to disk="c:\backup.bak"
restore database db_CSManage from disk="c:\backup.bak"

    其中db_CSManage是數(shù)據(jù)庫名稱,disk后的路徑即是備份文件存儲的路徑。
知道了SQL語句,那么在.NET代碼中就容易多了,備份的.NET代碼如下:

C#代碼
try  
{   
    if (txtPath.Text != "" && txtName122.Text != "")   
     {   
         getSqlConnection geCon = new getSqlConnection();   
         SqlConnection con = geCon.GetCon();   
  
        string strBacl = "backup database db_CSManage to disk="" + txtPath.Text.Trim() + "\\" + txtName.Text.Trim() + ".bak"";   
         SqlCommand Cmd = new SqlCommand(strBacl, con);   
        if (Cmd.ExecuteNonQuery() != 0)   
         {   
             MessageBox.Show("數(shù)據(jù)備份成功!", "提示框", MessageBoxButtons.OK, MessageBoxIcon.Information);   
            this.Close();   
         }   
        else  
         {   
             MessageBox.Show("數(shù)據(jù)備份失?。?quot;, "提示框", MessageBoxButtons.OK, MessageBoxIcon.Information);   
         }   
  
     }   
    else  
     {   
         MessageBox.Show("請?zhí)顚憘浞莸恼_位置及文件名!", "提示框", MessageBoxButtons.OK, MessageBoxIcon.Information);   
  
     }// end   
}   
catch (Exception ee)   
{   
     MessageBox.Show(ee.Message.ToString());   
}  
try
{
 if (txtPath.Text != "" && txtName122.Text != "")
 {
  getSqlConnection geCon = new getSqlConnection();
  SqlConnection con = geCon.GetCon();

  string strBacl = "backup database db_CSManage to disk="" + txtPath.Text.Trim() + "\\" + txtName.Text.Trim() + ".bak"";
  SqlCommand Cmd = new SqlCommand(strBacl, con);
  if (Cmd.ExecuteNonQuery() != 0)
  {
   MessageBox.Show("數(shù)據(jù)備份成功!", "提示框", MessageBoxButtons.OK, MessageBoxIcon.Information);
   this.Close();
  }
  else
  {
   MessageBox.Show("數(shù)據(jù)備份失?。?quot;, "提示框", MessageBoxButtons.OK, MessageBoxIcon.Information);
  }

 }
 else
 {
  MessageBox.Show("請?zhí)顚憘浞莸恼_位置及文件名!", "提示框", MessageBoxButtons.OK, MessageBoxIcon.Information);

 }// end
}
catch (Exception ee)
{
 MessageBox.Show(ee.Message.ToString());
}

以下是還原數(shù)據(jù)庫的代碼,在示例中發(fā)現(xiàn)開頭得先刪除與該數(shù)據(jù)庫相關(guān)的進程,然后在還原之前得先把數(shù)據(jù)庫日志備份到開始的備份文件中,然后才還原備份文件,要不然會出錯的,代碼如下:

C#代碼
if (textPaht.Text != "")   
{   
     getSqlConnection geCon = new getSqlConnection();   
     SqlConnection con = geCon.GetCon();   
    if (con.State == ConnectionState.Open)   
     {   
         con.Close();   
     }   
    string DateStr = "Data Source=niunan\\sqlexpress;Database=master;User id=sa;PWD=123456";   
     SqlConnection conn = new SqlConnection(DateStr);   
     conn.Open();   
  
    //-------------------殺掉所有連接 db_CSManage 數(shù)據(jù)庫的進程--------------   
    string strSQL = "select spid from master..sysprocesses where dbid=db_id( "db_CSManage") ";   
     SqlDataAdapter Da = new SqlDataAdapter(strSQL, conn);   
  
     DataTable spidTable = new DataTable();   
     Da.Fill(spidTable);   
  
     SqlCommand Cmd = new SqlCommand();   
     Cmd.CommandType = CommandType.Text;   
     Cmd.Connection = conn;   
  
    for (int iRow = 0; iRow <= spidTable.Rows.Count - 1; iRow++)   
     {   
         Cmd.CommandText = "kill " + spidTable.Rows[iRow][0].ToString();   //強行關(guān)閉用戶進程   
         Cmd.ExecuteNonQuery();   
     }   
     conn.Close();   
     conn.Dispose();   
    //--------------------------------------------------------------------   
  
     SqlConnection sqlcon = new SqlConnection(DateStr);   
     sqlcon.Open();   
    string sql = "backup log db_CSManage to disk="" + textPaht.Text.Trim() + "" restore database db_CSManage from disk="" + textPaht.Text.Trim() + """;   
     SqlCommand sqlCmd = new SqlCommand(sql, sqlcon);   
     sqlCmd.ExecuteNonQuery();   
     sqlCmd.Dispose();   
     sqlcon.Close();

服務(wù)熱線

153 8323 9821

功能和特性

價格和優(yōu)惠

網(wǎng)站和維護

推廣和優(yōu)化

微信服務(wù)號