corona
دوشنبه 05 بهمن 1388, 14:27 عصر
سلام دوستان . من از کد زیر برای بکاپ گرفتن از دیتابیسم استفاده می کنم توی برنامه سی شارپم و بدون هیچ مشکلی کار می کنه
cmd = new SqlCommand("BACKUP DATABASE saham TO DISK = '" + _path + "' WITH NAME = 'saham-Full Database Backup' SKIP,NOUNLOAD" +
"BACKUP LOG saham TO DISK = ' " + _path + "'WITH NOFORMAT, NOINIT, NAME = N'Saham-Transaction Log Backup',SKIP, NOREWIND, NOUNLOAD ");
حالا می خوام همین دیتابیس رو ریستور کنم . از کد زیر استفاده می کنم . در ضمن از sql server2008 enterprise edition هم استفاده می کنم . کد زیر رو که توی Query Analyzer خود sql server اجرا می کنم بدون هیچ مشکلی دیتابس ریستور میشه ولی وقتی از تو برنامه سی شارپم می خوام ریستور کنم خطای Exclusive access could not be obtained because the database is in use.Restore database is terminating abnormally.
رو میده
cmd = new SqlCommand(" USE Master GO RESTORE DATABASE [saham] FROM DISK = ' " + _path + "' WITH FILE = 1,NORECOVERY, NOUNLOAD, REPLACE GO"
+ " RESTORE LOG [saham] FROM DISK ='" + _path + "' WITH FILE = 2, NOUNLOAD");
حتی این کد رو هم تست کردم
cmd = new SqlCommand("Alter Database saham SET SINGLE_USER With ROLLBACK IMMEDIATE USE Master GO RESTORE DATABASE [saham] FROM DISK = ' " + _path + "' WITH FILE = 1,NORECOVERY, NOUNLOAD, REPLACE GO"
+ " RESTORE LOG [saham] FROM DISK ='" + _path + "' WITH FILE = 2, NOUNLOAD");
. این کد همونطور که گفتم توی خود sql serever بدون مشکل کار می کنه . تو نت هم خیلی سرچ کردم همشون میگن دیتابیس در حال استفاده است . حالتهای مختلف رو تست کردم .دیتابس رو تو sql server اومدم offline کردم ، detach کردم ، هر کار می کنم بازم همین خطا رو میده . لطفا اگه کسی میدونه مشکل چیه کمک کنه .
cmd = new SqlCommand("BACKUP DATABASE saham TO DISK = '" + _path + "' WITH NAME = 'saham-Full Database Backup' SKIP,NOUNLOAD" +
"BACKUP LOG saham TO DISK = ' " + _path + "'WITH NOFORMAT, NOINIT, NAME = N'Saham-Transaction Log Backup',SKIP, NOREWIND, NOUNLOAD ");
حالا می خوام همین دیتابیس رو ریستور کنم . از کد زیر استفاده می کنم . در ضمن از sql server2008 enterprise edition هم استفاده می کنم . کد زیر رو که توی Query Analyzer خود sql server اجرا می کنم بدون هیچ مشکلی دیتابس ریستور میشه ولی وقتی از تو برنامه سی شارپم می خوام ریستور کنم خطای Exclusive access could not be obtained because the database is in use.Restore database is terminating abnormally.
رو میده
cmd = new SqlCommand(" USE Master GO RESTORE DATABASE [saham] FROM DISK = ' " + _path + "' WITH FILE = 1,NORECOVERY, NOUNLOAD, REPLACE GO"
+ " RESTORE LOG [saham] FROM DISK ='" + _path + "' WITH FILE = 2, NOUNLOAD");
حتی این کد رو هم تست کردم
cmd = new SqlCommand("Alter Database saham SET SINGLE_USER With ROLLBACK IMMEDIATE USE Master GO RESTORE DATABASE [saham] FROM DISK = ' " + _path + "' WITH FILE = 1,NORECOVERY, NOUNLOAD, REPLACE GO"
+ " RESTORE LOG [saham] FROM DISK ='" + _path + "' WITH FILE = 2, NOUNLOAD");
. این کد همونطور که گفتم توی خود sql serever بدون مشکل کار می کنه . تو نت هم خیلی سرچ کردم همشون میگن دیتابیس در حال استفاده است . حالتهای مختلف رو تست کردم .دیتابس رو تو sql server اومدم offline کردم ، detach کردم ، هر کار می کنم بازم همین خطا رو میده . لطفا اگه کسی میدونه مشکل چیه کمک کنه .