ورود

View Full Version : خطا در Restore کردن DB



پوریا_م
شنبه 19 تیر 1389, 10:15 صبح
با سلام
با استفاده از پروسیجر زیر بدون هیچ خطایی در دلفی از یک بانک اسکیول back up میگیرم





Create procedure P_Auto_Back_up (@dest varchar(255),@name varchar(255))
As
BACKUP DATABASE test
TO DISK = @dest
WITH INIT,NAME = @name,STATS = 10



برای برگرداندن همین Back up از پروسیجر زیر استفاده مکنم



CREATE PROCEDURE P_Restore (@dest varchar(255))
As
ALTER DATABASE test SET SINGLE_USER
RESTORE DATABASE test
FROM DISK = @dest
WITH REPLACE , NOUNLOAD , STATS = 10, RECOVERY;
EXEC sp_dboption 'test', 'single user', 'false';
GO





اما موقع اجرای همین پروسیجر در دلفی پیغام Timeout Expired میدهد.
برای بر طرف کردن این خطا چه باید بکنم؟

babak_delphi
یک شنبه 20 تیر 1389, 13:25 عصر
ALTER DATABASE test SET SINGLE_USER رو حذف کن
وقتی Database ای وجود نداره چی رو میخاهین Replace کنید؟؟؟

پوریا_م
یک شنبه 20 تیر 1389, 21:11 عصر
ALTER DATABASE test SET SINGLE_USER رو حذف کن
وقتی Database ای وجود نداره چی رو میخاهین Replace کنید؟؟؟


این Alter که گذاشتم معادل کد زیر
EXEC sp_dboption 'test', 'single user', 'true
فرقی نمیکنه کدومو استفاده کنیم هر دو کاربران را از DB جدا میکنه

در ضمن DB از بین نرفته ما میخایم Back up را که گرفتیم رو همین Db برگردونیم به نوعی Replace کنیم
در ضمن من پروسیجر Restore رو تو master نوشتم که به قول شما حتی اگه Db هم پاک شده باشه مشکلی پیش نیاد