السلام عليكم ورحمة الله وبركاته...
لقد قمت بكتابة الكود التالي لعمل نسخة إحتياطية:
PHP كود :
SaveDialog1.Execute ;
ADOCommand1.CommandText := 'BACKUP DATABASE alyamama TO DISK = '''+SaveDialog1.FileName+'.bak''' ;
ADOCommand1.Execute ;
ولم يظهر أية رسالة خطأ عند التنفيذ
وقمت بكتابة الكود التالي لإستعادة النسخة:
PHP كود :
OpenDialog1.Execute ;
ADOCommand1.CommandText := 'RESTORE DATABASE alyamama FROM DISK = '''+OpenDialog1.FileName+'.bak''' ;
ADOCommand1.Execute ;
ولكن ظهرت الرسالة التالية عند التنفيذ:
فأفيدوني جزاكم الله خيراً..
نسيت أن أذكر أن قاعدة البيانات Sql server2000
و عليكم السلام و رحمة الله و بركاته
OpenDialog1.FileName تأخذ أيضا إمتداد الملف , يعني لا داعي لإظافة الإمتداد
عن الإستدعادة !!
بالتوفيق,,
جزاك الله خيراً أخي TF6M
ولكن بعد ما أصلحت الكود ظهرت لي الرسالة التالية:
![[صورة: 643133328.jpg]](http://www14.0zz0.com/2010/12/07/18/643133328.jpg)
ً
قم باغلاق الاتصال بملفات قواعد البيانات قبل القيام بالنسخ الاحتياطي
لدي نفس مشكلة الاخ
قمت بعمل ما سبق ولكن لا يعمل استعادة قاعدة البيانات
الكود ينفذ بدون مشاكل ولكن لا يعمل استعادة قاعدة البيانات
هذا هو الكود الذي كتبته
كود :
OpenDialog1.Execute ;
ADOCommand1.CommandText := 'ALTER DATABASE PERSONNEL_DATA SET SINGLE_USER WITH ROLLBACK IMMEDIATE ';
ADOCommand1.CommandText := 'RESTORE DATABASE PERSONNEL_DATA FROM DISK = ''' + OpenDialog1.FileName + '''';
ADOCommand1.CommandText := 'ALTER DATABASE PERSONNEL_DATA SET MULTI_USER';
ADOCommand1.Execute ;
السلام عليكم ورحمة الله وبركاته...
أخي الكريم Lam.Abdeldjalil عندما طبقت هذا الكود:
كود :
mystr:='ALTER DATABASE PERSONNEL_DATA SET SINGLE_USER WITH ROLLBACK IMMEDIATE '+
' RESTORE DATABASE PERSONNEL_DATA FROM DISK = '''+ OpenDialog1.FileName + ''''+
' ALTER DATABASE PERSONNEL_DATA SET MULTI_USER';
ADOCommand1.CommandText :=mystr;
توقف البرنامج عن العمل فما هي المشكلة؟؟
و عليكم السلام و رحمة الله و بركاته
المشكلة أنك لم تغير PERSONNEL_DATA إلى إسم قاعدة بياناتك !!
+ تفصيل من المفروض هذه تعمل دون مشكل

:
كود :
use master
ALTER DATABASE [COLOR=DarkGreen]mydb [/COLOR]SET SINGLE_USER WITH ROLLBACK IMMEDIATE
RESTORE DATABASE [COLOR=DarkGreen]mydb [/COLOR]FROM DISK =[COLOR=Red]'c:\ba.bak' [/COLOR]
with [COLOR=Magenta]Replace[/COLOR]
ALTER DATABASE [COLOR=DarkGreen]mydb [/COLOR]SET MULTI_USER
يمكن متابعة كل خصائص الـ Restore ( إسترجاع في ملف آخر ، إنشاء مرآة ...) هنا
كود :
http://msdn.microsoft.com/en-us/library/ms186858.aspx
بالتوفيق