المشاركات : 9
المواضيع 6
:
: 0
الإنتساب : Apr 2010
السلام عليكم ورحمة الله وبركاته...
لقد قمت بكتابة الكود التالي لعمل نسخة إحتياطية:
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 ;
ولكن ظهرت الرسالة التالية عند التنفيذ:
فأفيدوني جزاكم الله خيراً..
المشاركات : 9
المواضيع 6
:
: 0
الإنتساب : Apr 2010
نسيت أن أذكر أن قاعدة البيانات Sql server2000
المشاركات : 563
المواضيع 28
:
: 0
الإنتساب : Dec 2008
و عليكم السلام و رحمة الله و بركاته
OpenDialog1.FileName تأخذ أيضا إمتداد الملف , يعني لا داعي لإظافة الإمتداد
عن الإستدعادة !!
بالتوفيق,,
المشاركات : 9
المواضيع 6
:
: 0
الإنتساب : Apr 2010
جزاك الله خيراً أخي TF6M
ولكن بعد ما أصلحت الكود ظهرت لي الرسالة التالية:
![[صورة: 643133328.jpg]](http://www14.0zz0.com/2010/12/07/18/643133328.jpg)
ً
المشاركات : 2
المواضيع 0
:
: 0
الإنتساب : Oct 2010
قم باغلاق الاتصال بملفات قواعد البيانات قبل القيام بالنسخ الاحتياطي
المشاركات : 842
المواضيع 49
:
: 65
الإنتساب : Jun 2010
السلام عليكم
إقتباس :قم باغلاق الاتصال بملفات قواعد البيانات قبل القيام بالنسخ الاحتياطي
أو أضف إلى الـ
CommandText
كود :
ALTER DATABASE alyamama
SET SINGLE_USER WITH
ROLLBACK IMMEDIATE
قبل
RESTORE
و
كود :
ALTER DATABASE alyamama SET MULTI_USER
بعد
OpenDialog1.FileName
بالتوفيق
المشاركات : 136
المواضيع 20
:
: 0
الإنتساب : Feb 2008
لدي نفس مشكلة الاخ
قمت بعمل ما سبق ولكن لا يعمل استعادة قاعدة البيانات
الكود ينفذ بدون مشاكل ولكن لا يعمل استعادة قاعدة البيانات
هذا هو الكود الذي كتبته
كود :
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 ;
المشاركات : 842
المواضيع 49
:
: 65
الإنتساب : Jun 2010
السلام عليكم
CommandText ليست sql.add
لذا أخذت آخر قيمة معطاة
كود :
ADOCommand1.CommandText := 'ALTER DATABASE PERSONNEL_DATA SET MULTI_USER';
جرب التالي
كود :
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;
بالتوفيق
المشاركات : 9
المواضيع 6
:
: 0
الإنتساب : Apr 2010
السلام عليكم ورحمة الله وبركاته...
أخي الكريم 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;
توقف البرنامج عن العمل فما هي المشكلة؟؟
المشاركات : 842
المواضيع 49
:
: 65
الإنتساب : Jun 2010
و عليكم السلام و رحمة الله و بركاته
المشكلة أنك لم تغير 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
بالتوفيق