PDA

View Full Version : بازگردانی دیتابیس با دستورات smo



samiasoft
یک شنبه 01 بهمن 1396, 09:27 صبح
سلام دوستان

ایا با دستورات smo کار کردید؟ من برای بازگردانی دیتابیس بکاپ گرفته شده از دستور زیر استفاده کردم :

dbServer = new Server(new ServerConnection(txtServer.Text));
Restore dbRestore = new Restore() { Database = txtDatabase.Text, Action = RestoreActionType.Database, ReplaceDatabase = true, NoRecovery = false };
dbRestore.Devices.AddDevice(textPatch.Text, DeviceType.File);
dbRestore.SqlRestoreAsync(dbServer);


مساله ای که وجود داره این هستش که :
من 2 تا فرم دارم...فرم لاگین و فرم بکاپ و بازگردانی
ابتدا فرم لاگین اجرا میشه سپس فرم بکاپ و بازگردانی.....وقتی دستور بالا رو اجرا میکنم نمیدونم دلیلش چیه که خطای زیرظاهر میشه:

microsoft.sqlserver.management.smo.failedoperation exception restore failed for server

ولی وقتی فرم بکاپ و بازگردانی رو بطور جداگانه ینی قبل از فرم لاگین اجرا میکنم به خوبی دستورات اجرا میشه و دیتابیس بازگردانی میشود.

var qLogin = (from rows in database.Tble_Users where rows.Username == username && rows.Password == HashedPassowrd select rows).FirstOrDefault();
if (qLogin != null)
{


Frm_Backup home = new Frm_Backup();
this.Hide();
home.Show();

}

من احتمال میدم بخاطراین باشه که کانکشن دیتابیسم درحال اجراست برای همین شاید دستورات نمیتوانند اجرا شوند....روش ارتباط با دیتابیس هم بصورت انتیتی db first هستش...به نظرتون چگونه کانکشن یا ارتباطاتی که به دیتابیس هست رو قبل از بازگردانی ببندیم؟

البته دستور زیر رو هم امتحان کردم اما تاثیری نداشت!
database.Database.Connection.Close();

samiasoft
یک شنبه 01 بهمن 1396, 13:53 عصر
دوستان نظری نداشتید؟

درحالت کلی چند روش برای بکاپ گرفتن از دیتابیس وجود داره؟

- استفاده از smo
- استفاده از دیتابیس مستر

روش های دیگرم وجود دارند؟