PDA

View Full Version : سوال: خطا در restore



atifeh
یک شنبه 16 مهر 1391, 22:02 عصر
سلام
بعد از کلی جستجو بالاخره یکی از دوستان کد ریستر را در اختیار من قرار داد اما مشکلی هست اینکه اگر بک بگیرم بعد از برنامه خارج بشم بعد بخوام ریستر کنم این خطا را می هد:
[Invalid zero-length device name. Reissue the BACKUP statement with a valid device name.
RESTORE DATABASE is terminating abnormally.
Changed database context to 'master'.

کد ریستر:

{
DialogResult result = MessageBox.Show("آیا مطمئن هستید؟", "هشدار", MessageBoxButtons.YesNo, MessageBoxIcon.Warning);
if (result == DialogResult.Yes)
{
string strFileName = string.Empty;
openFileDialog1.Filter = @"SQL Backup files (*.BAK) |*.BAK|All files(*.*) |*.*";
//saveFileDialog1.FileName = "BackupFile" + DateTime.Now.ToShortDateString();
openFileDialog1.FilterIndex = 1;
//saveFileDialog1.OverwritePrompt = true;
saveFileDialog1.Title = "Restore SQL File";
if (openFileDialog1.ShowDialog() == DialogResult.OK)
{
strFileName = saveFileDialog1.FileName;
Restore(strFileName);
}

}
}

private void Restore(string strFileName)
{
try
{
SqlConnection myConnection = null;
myConnection = new SqlConnection("data source= NOVIN_PENDAR;initial catalog =master;;Integrated Security=True");
SqlCommand cmd = new SqlCommand("USE [master];ALTER DATABASE ghove SET SINGLE_USER WITH ROLLBACK IMMEDIATE", myConnection);
myConnection.Open();
cmd.ExecuteNonQuery();
string query = "USE [master]; RESTORE DATABASE ghove FROM DISK = N'" + strFileName + "'" + " WITH FILE = 1, NOUNLOAD, REPLACE, STATS = 10";
cmd = new SqlCommand(query, myConnection);
cmd.ExecuteNonQuery();
cmd = new SqlCommand("USE [master];ALTER DATABASE ghove SET MULTI_USER WITH ROLLBACK IMMEDIATE", myConnection);
cmd.ExecuteNonQuery();
myConnection.Close();
MessageBox.Show("عمل بازگردانی با موفقیت انجام شد");


}
catch (Exception ex)
{
MessageBox.Show("Error Occurd :" + ex.Message);
}
}

ممنون می شم کمک کنین
در صفحه دیگر همین مشکل را پیدا کردم اما با راه حل ارائه شده مشکل حل نشد.

veniz2008
دوشنبه 17 مهر 1391, 01:15 صبح
سلام. قبلا در تاپیک زیر هم بک آپ و هم ری استور رو بصورت کامل توضیح دادم.
http://barnamenevis.org/showthread.php?348780-%DA%86%DA%AF%D9%88%D9%86%DA%AF%DB%8C-%D8%AA%D9%87%DB%8C%D9%87-%DA%A9%D9%BE%DB%8C-%D8%A7%D8%B2-%D9%81%D8%A7%DB%8C%D9%84-%D9%87%D8%A7%DB%8C-%D8%AF%DB%8C%D8%AA%D8%A7%D8%A8%DB%8C%D8%B3-%D8%A8%D9%87-%D9%85%D9%86%D8%B8%D9%88%D8%B1-%D8%AA%D9%87%DB%8C%D9%87-%D9%BE%D8%B4%D8%AA%DB%8C%D8%A8%D8%A7%D9%86/page2
موفق باشید.

atifeh
دوشنبه 17 مهر 1391, 19:54 عصر
بی نهایت از کمک شما ممنونم:)))