davidrobert
شنبه 15 شهریور 1393, 19:57 عصر
سلام و خسته نباشید به تمام دوستان گل برنامه نویس .
دوستان من با یه مشکلی در ضمنی ریستور و بکاپ بر خورد کردم که برنامه این امکان ریستور و بکاپ رو به من نمیده من از اسکیول سرور Microsoft.SQL.Server.2012.Enterprise.Edition.with. Service.Pack.1-KOPiE و دات نت Microsoft Visual Studio Ultimate 2013 en-US x86 Nov8-2013 استفاده میکنم و میخوام بکاپ بگیرم از دیتابیسم که در اسکیول سرور هستش به هم اجازه نمیده میگه باید دیتابیس کنار فایلت باشه تا بشه ولی میخوام از خود دیتابیس که در اسکیول سرور هستش ریستور و بکاپ بگیرم برای اینکه سرعت برنامه من رو خیلی بالا میبره از این کد استفاده میکنم که آدرس رو به صورت محلی و همین طور به صورت اسکیول سرور دادم قبول نمیکنه بخاطر مثال امنیتی خطا به من میده.
123141
123142
این 2 تا خطا رو به من میده در هر دو روش آدرس دهی برای ریستور و بکاپ گرفتن ممنون میشم به من کمک کنید به روز کد نویسی ADO, Linq یا Ef به یکی از این روش ها کد در اختیار من قرار بدید تا من بتونم ریستور و بکاپ گیری کنم و بگم این کد با ADO هستش فقط کد ریستور و بکاپ ADO ولی باقی کدام با Ef هستش ممنون میشم کمک کنید در این ضمنی این هم کد های من در ضمنی ریستور و بکاپ.
private void backupinformation()
{
DialogResult dr;
dr = MessageBoxShow.Show("تهیه نسخه پشتیبان", "آیا مایلید نسخه پشتیبان از اطلاعات خود تهیه فرمایید",
MessageBoxShow.Buttons.YesNo, MessageBoxShow.Icons.Question);
if (dr == DialogResult.Yes)
{
try
{
System.Globalization.PersianCalendar pc = new System.Globalization.PersianCalendar();
string date = pc.GetYear(DateTime.Now) + "-" + pc.GetMonth(DateTime.Now) + "-" +
pc.GetDayOfMonth(DateTime.Now);
System.Globalization.PersianCalendar pcc = new System.Globalization.PersianCalendar();
DateTime tm = new DateTime();
tm = DateTime.Now;
string timenow = pcc.GetHour(tm).ToString() + "_" + pcc.GetMinute(tm).ToString() + "_" +
pcc.GetSecond(tm).ToString();
SaveFileDialog savefiledialog = new SaveFileDialog();
savefiledialog.AddExtension = true;
savefiledialog.CheckFileExists = false;
savefiledialog.OverwritePrompt = true;
savefiledialog.FileName = "Backup_FileDataBase" + date + " " + timenow;
savefiledialog.Filter = @"(*.bak) پشتیبان گیری|*.bak";
savefiledialog.Title = "پشتیبان گیری";
savefiledialog.DefaultExt = "Bak";
savefiledialog.RestoreDirectory = true;
if (savefiledialog.ShowDialog() == DialogResult.OK)
{
try
{
this.Refresh();
SqlCommand cmd = new SqlCommand();
cmd.Connection =
//new SqlConnection(@"Data Source=.\SQLEXPRESS;AttachDbFilename=C:\Program Files\Microsoft SQL Server\MSSQL10.SQLEXPRESS\MSSQL\DATA\DBBSS.mdf;Int egrated Security=True;Connect Timeout=30;User Instance=True");
cmd.Connection =
new SqlConnection(
@"Data Source=.\SQLEXPRESS;Initial Catalog=DBBSS;Integrated Security=True;MultipleActiveResultSets=True");
cmd.Connection.Open();
string dbname = cmd.Connection.Database;
cmd.Connection.Close();
SqlConnection.ClearAllPools();
string query = "BACKUP" +
" DATABASE [" + dbname + "] TO DISK ='" + savefiledialog.FileName +
"'";
cmd.Connection =
new SqlConnection(
"Data Source=.\\sqlexpress;Integrated Security=True;Connect Timeout=30;User Instance=True");
cmd.Connection.Open();
cmd.CommandText = query;
cmd.ExecuteNonQuery();
cmd.Connection.Close();
this.Refresh();
label1.Visible = true;
progressBar1.Visible = true;
label1.Text = "%" + progressBar1.Value.ToString() + ": درصد پشتیبان گیری";
progressBar1.PerformStep();
progressBar1.Value = 100;
MessageBoxShow.Show("پشتیبان گیری", "نسخه پشتيبان به طور كامل ايجاد شد.",
MessageBoxShow.Buttons.OK, MessageBoxShow.Icons.None);
label1.Visible = false;
progressBar1.Visible = false;
}
catch (Exception ex)
{
if (!ShowFriendMeesage)
MessageBox.Show(ex.Message);
else
MessageBoxShow.Show("خطا", "خطا در باز یابی اطلاعات / خطا 103",
MessageBoxShow.Buttons.OK, MessageBoxShow.Icons.None);
}
}
}
catch
{
}
}
}
public static bool ShowFriendMeesage = false;
void restore()
{
MessageBoxShow.Show("هشدار",
"آیا مطمئن هستید برای بازیابی اطلاعات در صورت بازیابی اطلاعات اطلاعات قبلی از بین رفته و اطلاعات جدید جایگزین میشود.",
MessageBoxShow.Buttons.OK, MessageBoxShow.Icons.Information);
try
{
OpenFileDialog OpenFileRestore = new OpenFileDialog();
OpenFileRestore.AddExtension = true;
OpenFileRestore.CheckFileExists = false;
OpenFileRestore.CheckPathExists = true;
OpenFileRestore.Filter = "(*.Bak) فایل پشتیبان گیری|*.Bak";
OpenFileRestore.Title = "باز یابی فایل پشتیبان گیری";
OpenFileRestore.DefaultExt = "Bak";
OpenFileRestore.RestoreDirectory = true;
if (OpenFileRestore.ShowDialog() == DialogResult.OK)
{
try
{
this.Refresh();
SqlCommand cmd = new SqlCommand();
//cmd.Connection = new SqlConnection(@"Data Source=.\SQLEXPRESS;Initial Catalog=DBBSS;Integrated Security=True;MultipleActiveResultSets=True");
cmd.Connection = new SqlConnection(@"Data Source=.\SQLEXPRESS;AttachDbFilename=C:\Program Files\Microsoft SQL Server\MSSQL10.SQLEXPRESS\MSSQL\DATA\DBBSS.mdf;Int egrated Security=True;Connect Timeout=30;User Instance=True");
cmd.Connection.Open();
string dbname = cmd.Connection.Database;
cmd.Connection.Close();
string query = "ALTER DATABASE [" + dbname + "] SET SINGLE_USER WITH ROLLBACK IMMEDIATE ;RESTORE DATABASE [" + dbname + "] FROM DISK = '" + OpenFileRestore.FileName + "';ALTER DATABASE [" + dbname + "] SET MULTI_USER ;";
cmd.Connection = new SqlConnection("Data Source=.\\sqlexpress;Integrated Security=True;Connect Timeout=30;User Instance=True");
cmd.Connection.Open();
cmd.CommandText = query;
cmd.ExecuteNonQuery();
label1.Visible = true;
progressBar1.Visible = true;
progressBar1.PerformStep();
progressBar1.Value = 100;
cmd.Connection.Close();
progressBar1.Text = "%" + progressBar1.Value.ToString() + "درصد بازگردانی اطلاعات :";
MessageBoxShow.Show("بازگرانی", "نسخه پشتیبان با موفقیعت باز گردانی شد.", MessageBoxShow.Buttons.OK, MessageBoxShow.Icons.None);
MessageBoxShow.Show("هشدار", "برنامه باید بسته شود", MessageBoxShow.Buttons.OK, MessageBoxShow.Icons.Warning);
Application.Exit();
progressBar1.Value = 0;
progressBar1.Visible = false;
label1.Visible = false;
}
catch (Exception ex)
{
if (!ShowFriendMeesage)
MessageBox.Show(ex.Message);
else
MessageBox.Show("خطا در باز یابی اطلاعات / خطا 100");
}
}
}
catch
{
}
}
من سرباز هستم دیر به دیر سر میزنم به این سایت خواهشن برای من کدش رو قرار بدید خیلی ممنون میشم.
دوستان من با یه مشکلی در ضمنی ریستور و بکاپ بر خورد کردم که برنامه این امکان ریستور و بکاپ رو به من نمیده من از اسکیول سرور Microsoft.SQL.Server.2012.Enterprise.Edition.with. Service.Pack.1-KOPiE و دات نت Microsoft Visual Studio Ultimate 2013 en-US x86 Nov8-2013 استفاده میکنم و میخوام بکاپ بگیرم از دیتابیسم که در اسکیول سرور هستش به هم اجازه نمیده میگه باید دیتابیس کنار فایلت باشه تا بشه ولی میخوام از خود دیتابیس که در اسکیول سرور هستش ریستور و بکاپ بگیرم برای اینکه سرعت برنامه من رو خیلی بالا میبره از این کد استفاده میکنم که آدرس رو به صورت محلی و همین طور به صورت اسکیول سرور دادم قبول نمیکنه بخاطر مثال امنیتی خطا به من میده.
123141
123142
این 2 تا خطا رو به من میده در هر دو روش آدرس دهی برای ریستور و بکاپ گرفتن ممنون میشم به من کمک کنید به روز کد نویسی ADO, Linq یا Ef به یکی از این روش ها کد در اختیار من قرار بدید تا من بتونم ریستور و بکاپ گیری کنم و بگم این کد با ADO هستش فقط کد ریستور و بکاپ ADO ولی باقی کدام با Ef هستش ممنون میشم کمک کنید در این ضمنی این هم کد های من در ضمنی ریستور و بکاپ.
private void backupinformation()
{
DialogResult dr;
dr = MessageBoxShow.Show("تهیه نسخه پشتیبان", "آیا مایلید نسخه پشتیبان از اطلاعات خود تهیه فرمایید",
MessageBoxShow.Buttons.YesNo, MessageBoxShow.Icons.Question);
if (dr == DialogResult.Yes)
{
try
{
System.Globalization.PersianCalendar pc = new System.Globalization.PersianCalendar();
string date = pc.GetYear(DateTime.Now) + "-" + pc.GetMonth(DateTime.Now) + "-" +
pc.GetDayOfMonth(DateTime.Now);
System.Globalization.PersianCalendar pcc = new System.Globalization.PersianCalendar();
DateTime tm = new DateTime();
tm = DateTime.Now;
string timenow = pcc.GetHour(tm).ToString() + "_" + pcc.GetMinute(tm).ToString() + "_" +
pcc.GetSecond(tm).ToString();
SaveFileDialog savefiledialog = new SaveFileDialog();
savefiledialog.AddExtension = true;
savefiledialog.CheckFileExists = false;
savefiledialog.OverwritePrompt = true;
savefiledialog.FileName = "Backup_FileDataBase" + date + " " + timenow;
savefiledialog.Filter = @"(*.bak) پشتیبان گیری|*.bak";
savefiledialog.Title = "پشتیبان گیری";
savefiledialog.DefaultExt = "Bak";
savefiledialog.RestoreDirectory = true;
if (savefiledialog.ShowDialog() == DialogResult.OK)
{
try
{
this.Refresh();
SqlCommand cmd = new SqlCommand();
cmd.Connection =
//new SqlConnection(@"Data Source=.\SQLEXPRESS;AttachDbFilename=C:\Program Files\Microsoft SQL Server\MSSQL10.SQLEXPRESS\MSSQL\DATA\DBBSS.mdf;Int egrated Security=True;Connect Timeout=30;User Instance=True");
cmd.Connection =
new SqlConnection(
@"Data Source=.\SQLEXPRESS;Initial Catalog=DBBSS;Integrated Security=True;MultipleActiveResultSets=True");
cmd.Connection.Open();
string dbname = cmd.Connection.Database;
cmd.Connection.Close();
SqlConnection.ClearAllPools();
string query = "BACKUP" +
" DATABASE [" + dbname + "] TO DISK ='" + savefiledialog.FileName +
"'";
cmd.Connection =
new SqlConnection(
"Data Source=.\\sqlexpress;Integrated Security=True;Connect Timeout=30;User Instance=True");
cmd.Connection.Open();
cmd.CommandText = query;
cmd.ExecuteNonQuery();
cmd.Connection.Close();
this.Refresh();
label1.Visible = true;
progressBar1.Visible = true;
label1.Text = "%" + progressBar1.Value.ToString() + ": درصد پشتیبان گیری";
progressBar1.PerformStep();
progressBar1.Value = 100;
MessageBoxShow.Show("پشتیبان گیری", "نسخه پشتيبان به طور كامل ايجاد شد.",
MessageBoxShow.Buttons.OK, MessageBoxShow.Icons.None);
label1.Visible = false;
progressBar1.Visible = false;
}
catch (Exception ex)
{
if (!ShowFriendMeesage)
MessageBox.Show(ex.Message);
else
MessageBoxShow.Show("خطا", "خطا در باز یابی اطلاعات / خطا 103",
MessageBoxShow.Buttons.OK, MessageBoxShow.Icons.None);
}
}
}
catch
{
}
}
}
public static bool ShowFriendMeesage = false;
void restore()
{
MessageBoxShow.Show("هشدار",
"آیا مطمئن هستید برای بازیابی اطلاعات در صورت بازیابی اطلاعات اطلاعات قبلی از بین رفته و اطلاعات جدید جایگزین میشود.",
MessageBoxShow.Buttons.OK, MessageBoxShow.Icons.Information);
try
{
OpenFileDialog OpenFileRestore = new OpenFileDialog();
OpenFileRestore.AddExtension = true;
OpenFileRestore.CheckFileExists = false;
OpenFileRestore.CheckPathExists = true;
OpenFileRestore.Filter = "(*.Bak) فایل پشتیبان گیری|*.Bak";
OpenFileRestore.Title = "باز یابی فایل پشتیبان گیری";
OpenFileRestore.DefaultExt = "Bak";
OpenFileRestore.RestoreDirectory = true;
if (OpenFileRestore.ShowDialog() == DialogResult.OK)
{
try
{
this.Refresh();
SqlCommand cmd = new SqlCommand();
//cmd.Connection = new SqlConnection(@"Data Source=.\SQLEXPRESS;Initial Catalog=DBBSS;Integrated Security=True;MultipleActiveResultSets=True");
cmd.Connection = new SqlConnection(@"Data Source=.\SQLEXPRESS;AttachDbFilename=C:\Program Files\Microsoft SQL Server\MSSQL10.SQLEXPRESS\MSSQL\DATA\DBBSS.mdf;Int egrated Security=True;Connect Timeout=30;User Instance=True");
cmd.Connection.Open();
string dbname = cmd.Connection.Database;
cmd.Connection.Close();
string query = "ALTER DATABASE [" + dbname + "] SET SINGLE_USER WITH ROLLBACK IMMEDIATE ;RESTORE DATABASE [" + dbname + "] FROM DISK = '" + OpenFileRestore.FileName + "';ALTER DATABASE [" + dbname + "] SET MULTI_USER ;";
cmd.Connection = new SqlConnection("Data Source=.\\sqlexpress;Integrated Security=True;Connect Timeout=30;User Instance=True");
cmd.Connection.Open();
cmd.CommandText = query;
cmd.ExecuteNonQuery();
label1.Visible = true;
progressBar1.Visible = true;
progressBar1.PerformStep();
progressBar1.Value = 100;
cmd.Connection.Close();
progressBar1.Text = "%" + progressBar1.Value.ToString() + "درصد بازگردانی اطلاعات :";
MessageBoxShow.Show("بازگرانی", "نسخه پشتیبان با موفقیعت باز گردانی شد.", MessageBoxShow.Buttons.OK, MessageBoxShow.Icons.None);
MessageBoxShow.Show("هشدار", "برنامه باید بسته شود", MessageBoxShow.Buttons.OK, MessageBoxShow.Icons.Warning);
Application.Exit();
progressBar1.Value = 0;
progressBar1.Visible = false;
label1.Visible = false;
}
catch (Exception ex)
{
if (!ShowFriendMeesage)
MessageBox.Show(ex.Message);
else
MessageBox.Show("خطا در باز یابی اطلاعات / خطا 100");
}
}
}
catch
{
}
}
من سرباز هستم دیر به دیر سر میزنم به این سایت خواهشن برای من کدش رو قرار بدید خیلی ممنون میشم.