標籤:
備份資料庫:
string connectionString = "server=伺服器名稱;database=資料庫名;uid=登入名;pwd=登入密碼"; //登入名和密碼在SQL Server中尋找
private void btnBackDataBase_Click(object sender, EventArgs e)
{
try
{
SaveFileDialog sf = new SaveFileDialog();
DialogResult dr = sf.ShowDialog();
if (dr == DialogResult.OK)
{
string path = sf.FileName;
string sql = " BACKUP DATABASE 資料庫名 to DISK = ‘" + path + "‘";
SqlConnection con = new SqlConnection(connectionString);
con.Open();
SqlCommand cmd = new SqlCommand(sql, con);
cmd.ExecuteNonQuery();
MessageBox.Show("Database Backup成功");
con.Close();
}
}
catch (Exception ex)
{
MessageBox.Show(ex.Message.ToString());
}
}
資料庫還原:
private void btnRestore_Click(object sender, EventArgs e)
{
OpenFileDialog ofd = new OpenFileDialog();
DialogResult dr = ofd.ShowDialog();
if (dr == DialogResult.OK)
{
try
{
string cmdText = @"restore database 資料庫名 from disk=‘" + ofd.FileName + "‘";
SqlConnection con = new SqlConnection(connectionString);
con.Open();
string setOffline = "Alter database 資料庫名 Set Offline With rollback immediate ";
string setOnline = " Alter database 資料庫名 Set Online With Rollback immediate";
string sql = setOffline + cmdText + setOnline;
SqlCommand cmd = new SqlCommand(sql, con);
cmd.ExecuteNonQuery();
con.Close();
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}
}
C#對SQL Server資料庫的備份與還原