ورود

View Full Version : فوری - مشکل جدی در ارتباط با Restore کردن



kathy11ir
شنبه 06 خرداد 1385, 19:15 عصر
سلام !
من با یک مشکل جدی در ارتباط با Restore کردن روبرو شدم . همانگونه که می دانید حتی در Restore کردن بصورت دستی در صورتی که مسیر mdf , ldf اشتباده باشد خطایی ظاهر می شود و اجازه Restore کردن نمی دهد تا زمانیکه مسیر اصلاح گردد .لطفا " به من بگویید که چگونه می توانم در delphi با تعیین مسیر mdf,ldf و دستورات Restore ، بانک را به sql متصل کنم .

من دستورات زیر را وارد کردم ولی به نتیجه ای نرسیدم

RESTORE DATABASE vb2
FROM DISK = 'c:\vb2006526.bak'
WITH MOVE 'vb2006526' TO 'c\:vb2.mdf',
MOVE 'vb2006526_log' TO 'c:\vb2.ldf'

متشکرم

پ.ن : در ضمن هنگامیکه برای پیدا کردن دستورات Restore ، جستجو می کردم ، به این نکته برخوردم که هنگام Restore کردن یک بانک اطلاعاتی نباید کاربری به سیستم متصل باشد و یا از بانک اطلاعاتی استفاده گردد . آیا این مطلب درست می باشد ؟ درصورت مثبت بودن جواب لطف کنین source برنامه ای که باعث pause.start ، بانک اطلاعاتی می گردد برای من ارسال نمایید .

ali_kolahdoozan
شنبه 06 خرداد 1385, 19:38 عصر
این رشته سر دراز دارد

AminSobati
شنبه 06 خرداد 1385, 21:43 عصر
دوست عزیز شما باید دستوری که قصد دارید اجرا کنید رو به شکل یک String بسازید. در این String، آدرسهای مورد نظر رو وارد کنید و در نهایت String رو به مثلا ADO بدین تا به SQL Server ارسال کنه.
برای Restore کاملا درسته! هیچ کاربری نباید دیتابیس رو Use کرده باشه. برای Pause کردن:
NET PAUSE MSSQLSERVER
که در Command Prompt باید اجرا بشه. برای ادامه: NET CONTINUE MSSQLSERVER

hpx
یک شنبه 07 خرداد 1385, 07:28 صبح
میشه مد db رو به Single_user و دوباره بعد از restore به حالت Multi_user برگشت
اینجوری
alter database db-name set SINGLE_USER
database db-name set MULTI_USER

ali_kolahdoozan
یک شنبه 07 خرداد 1385, 07:40 صبح
باید بعد از این کار یکدور برنامت رو ببندی . دوباره باز کنی

hpx
یک شنبه 07 خرداد 1385, 08:05 صبح
نیازی به باز و بسته کردن برنامه نیست
هیچ تغییری تو Connection به db رخ نمیده