سلام به همه عزيزان
يادآوري مهم : من ديتابيس خودم را در مسير bin\Debug كپي كردم و از كانكشن استرينگ اون استفاده مي كنم .
من با كد زير از ديتابيسم back up گرفتم
if (DialogResult.Yes == MessageBox.Show("كليك كنيدوباپشتيباني نرم افزارتماس بگيريدno كليك كنيدازاطلاعاتي كه تاامروز تهيه كرديدنسخه پشتيبان تهيه ميگردددرصورتيكه ازاين دكمه اطلاعي نداريدرويyes اگرروي", "اخطار", MessageBoxButtons.YesNo))
{
MessageBox.Show("در ح?ن عمل?ات به چ?ز? دست نزن?د");
if (!Directory.Exists("c:\\backup banketelaat"))
{
Directory.CreateDirectory("c:\\backup banketelaat");
}
try
{
con.Open();
string query = "BACKUP DATABASE master TO DISK = 'C:\\backup banketelaat\\ensani.MDF'";
SqlCommand cmd = new SqlCommand();
cmd.CommandText = query;
cmd.Connection = con;
cmd.ExecuteNonQuery();
con.Close();
MessageBox.Show("پشت?بان گ?ر? به درست? انجام شد");
}
catch
{
MessageBox.Show("اشکال در ارتباط با بانک اطلاعات?");
}
}
كه بدون مشكل اجرا شده ولي با كد زير كه از سايت جستجو كردم restore مي كنم ارور مي ده
con = new SqlConnection(@"Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirector y|\ensani.mdf;Integrated Security=True;Connect Timeout=30;User Instance=True");
try
{
con.Open();
string s1 = "ALTER DATABASE ensani SET OFFLINE WITH ROLLBACK IMMEDIATE";
string s2 = "ALTER DATABASE ensani SET MULTI_USER";
string query = "RESTORE DATABASE ensani FROM DISK ='C:\\backup banketelaat\\ensani.MDF' WITH RECOVERY,REPLACE";
SqlCommand cmd = new SqlCommand();
cmd.CommandText = s1;
cmd.Connection = con;
cmd.ExecuteNonQuery();
cmd.CommandText = s2;
cmd.Connection = con;
cmd.ExecuteNonQuery();
cmd.CommandText = query;
cmd.Connection = con;
cmd.ExecuteNonQuery();
con.Close();
MessageBox.Show("restor به درستی انجام شد");
}
catch
{
MessageBox.Show("اشکال در ارتباط با بانک اطلاعاتی");
}
دوستان لطف كنن و پاك نكنن چون جستجو كردم واين كدها را از سايت گرفتم البته همين كد restor زماني كه در مسير خود sql وجود دارد يعني بانك را در مسير bin\Debug كپي نكردم بدون مشكل اجرا ميشود .
ارور صادره :