
نوشته شده توسط
debugger
این کد اتچ را تست کردم بسیار عالی بود . خیلی خوب جواب داد
لطفا در مورد بکاپ و ریستور هم راهنمایی کنید
من از کدهای زیر استفاده می کنم .
string filename;
private void Backup_Click(object sender, EventArgs e)
{
saveFileDialog1.FileName = "DB_Backup" + PersianDate.Now.Year.ToString() + '-' + PersianDate.Now.Month.ToString() + '-' + PersianDate.Now.Day.ToString() + ".bak";
saveFileDialog1.Filter = "Backup Files (*.bak)|*.bak | All Files (*.*)|*.*";
this.saveFileDialog1.ShowDialog();
if ((this.saveFileDialog1.FileName != ""))
{
filename = saveFileDialog1.FileName.ToString();
}
try
{
con.ConnectionString = "Data Source=.\\SQLEXPRESS;Initial Catalog=ExamA;Integrated Security=True";
cmd.Connection = con;
string t = @"BACKUP DATABASE [ExamA]TO DISK=N'" + filename + "' WITH NOFORMAT,NOINIT,NAME=N'mydb-full Database Backup',SKIP,NOREWIND,NOUNLOAD,STATS=10;";
cmd.CommandText = t;
con.Open();
cmd.ExecuteNonQuery();
con.Close();
MessageBox.Show("پشتیبان گیری با موفقیت انجام شد");
}
catch
{
MessageBox.Show("پشتیبان گیری با موفقیت انجام نشد");
}
}
private void Restore_Click(object sender, EventArgs e)
{
this.openFileDialog1.ShowDialog();
if ((this.openFileDialog1.FileName != "") && (this.openFileDialog1.FileName != "openFileDialog1"))
{
try
{
filename = openFileDialog1.FileName;
con.ConnectionString = "Data Source=.\\SQLEXPRESS;Initial Catalog=ExamA;Integrated Security=True";
cmd.Connection = con;
con.Open();
cmd.CommandText = "ALTER DATABASE ExamA SET SINGLE_USER WITH ROLLBACK IMMEDIATE" + " USE master; RESTORE DATABASE ExamA FROM DISK =N'" + filename + "'";
cmd.Connection = con;
cmd.ExecuteNonQuery();
con.Close();
MessageBox.Show("بازیابی با موفقیت انجام شد");
}
catch
{
MessageBox.Show("بازیابی با موفقیت انجام نشد");
}
}
}