با سلام
با کد زیر برای Restore کردن استفاده میکنم. اما این در شرایطی جواب میده که بتونم با دیتابیس ارتباط برقرار کنم. اگه دیتابیس به هر دلیلی حذف شده باشه و یا جداولش حذف شده باشن این کد عملا کاربردی نخواهد داشت.
چطور میشه هنگام لود برنامه اول دیتابیس رو چک کنه اگه دیتابیس و یا جداولش وجود نداشت پیغام بده. و با تایید کاربر عمل Restore انجام بشه. البته حتما باید ساخت دیتابیس و جداولش هم در کد گنجانده شود.public void Restore(string strFileName)
{
try
{
if (strFileName != string.Empty)
{
string command =
"ALTER DATABASE matab SET OFFLINE with ROLLBACK IMMEDIATE RESTORE DATABASE matab FROM DISK = '" +
strFileName + "' WITH REPLACE";
var oConnection =
new SqlConnection("server=localhost;Integrated security=true;database=matab");
if (oConnection.State != ConnectionState.Open)
oConnection.Open();
var oCommand = new SqlCommand(command, oConnection);
oCommand.ExecuteNonQuery();
MessageBox.Show(". بازيابی اطلاعات از نسخه پشتيبان با موفقيت انجام شد");
}
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}