ورود

View Full Version : حرفه ای: Restore با SMO



Ali_M.Eghbaldar
دوشنبه 29 شهریور 1389, 12:39 عصر
ُسلام به اساتید و دوستان عزیز

من می خوام با SMO فایل پشتیبانمو Restore کنم ولی هنگام عملیات خطای اتصال به بانک با مضمون :

[Microsoft][ODBC SQL Server Driver][SQL Server]Exclusive access could not be obtained because the database is in use.
[Microsoft][ODBC SQL Server Driver][SQL Server]RESTORE DATABASE is terminating abnormally.



میده , که درست هم هست چون ارتباطی برقراره
در ضمن از

Use Masterبرای قطع موقت استفاده کردم که جواب نداد
- - -
حالا راهش چیه؟
چطوری میشه ارتباط با Database فعلی قطع کرد (Clear Connection) تا عمل Restore بدرستی انجام بشه ؟؟؟ :متفکر:

Behrouz_Rad
سه شنبه 30 شهریور 1389, 21:13 عصر
وقتی به master متصل شدی، دستور ذیل رو قبل از Restore امتحان کن:


ALTER DATABASE dbname SET SINGLE_USER WITH ROLLBACK IMMEDIATE

Ali_M.Eghbaldar
سه شنبه 30 شهریور 1389, 22:59 عصر
سلام و ممنون از توجه تون.
کدتونو بصورت یک Query در خود MS SQL تست کردم باعث قطع ارتباط (Clear Connection) شد ولی در برنامه وقتی تست کردم به محض رسیدن به کد Restore دوباره همون خطای بالا رو داد

درضمن ظاهر دیتابیس هم تغییر کرد ( شکل زیر)
مشکلاتی از جمله:


باز نشدن عجیب جدول ها :متعجب:
خطای Login بصورت زیر:


Cannot open database requested in login 'Modules'. Login fails.
Login failed for user 'EGHBALDAR\ASPNET'

هم میده :افسرده:

mohsen_csharp
سه شنبه 30 شهریور 1389, 23:52 عصر
سلام
این مثال رو تست کردی؟
http://barnamenevis.org/forum/showthread.php?t=153480

Ali_M.Eghbaldar
چهارشنبه 31 شهریور 1389, 00:50 صبح
ممنون محسن جان چندتا نکته وجود داره:


کدت #C البته مشکلی با این ندارم.
وقت بررسی کدتو ندارم متاسفانه
کد من خیلی سبکتره (چون نیازی به پیچیدتر کردنش نداشتم) و فکر کنم با وب باید فرق داشته باشه

اگه بتونی بهم بگی که برای قطع ارتباطت با دیتابیسی که می خواستی Restore برگردونی چیکار کردی مشکلم حل میشه :قلب: ؟؟؟؟

mohsen_csharp
چهارشنبه 31 شهریور 1389, 09:50 صبح
از

SqlConnection.ClearPool(mySqlConnection);
استفاده کردم