يعد النسخ الاحتياطي واستعادة قاعدة بيانات SQL Server عبر الإنترنت من ASP حلاً مؤقتًا للأصدقاء الذين لا يوفرون اتصال SQLServer عن بعد أو تنزيل الحزمة، وقد لا يكون فعالاً للبيانات الضخمة. قاعدة بيانات خادم SQL للنسخ الاحتياطي عبر الإنترنت:
1. عمل نسخة احتياطية من sqlserver
انسخ رمز الكود كما يلي:
<%
SQL=اسم قاعدة بيانات قاعدة البيانات الاحتياطية إلى القرص='&Server.MapPath(backup)&/&backuptext.dat&'
تعيين cnn=Server.createobject(adodb.connection)
cnn.open driver={SQL Server};الخادم=اسم الخادم;uid=sa;pwd=
cnn.تنفيذ SQL
على خطأ استئناف المقبل
إذا أخطأ<>0 ثم
خطأ في الاستجابة.كتابة:&err.Descripting
آخر
تم إجراء النسخ الاحتياطي للبيانات على Response.wrITE بنجاح!
نهاية إذا
%>
2. استعادة sqlserver
انسخ رمز الكود كما يلي:
<%
SQL=استعادة اسم قاعدة بيانات قاعدة البيانات من القرص='&Server.MapPath(backup)&/&backuptext.dat&'
تعيين cnn=Server.createobject(adodb.connection)
cnn.open driver={SQL Server};الخادم=اسم الخادم;uid=sa;pwd=
cnn.تنفيذ SQL
على خطأ استئناف المقبل
إذا أخطأ<>0 ثم
خطأ في الاستجابة.كتابة:&err.Descripting
آخر
استجابة.كتابة استعادة البيانات ناجحة!
نهاية إذا
%>
مبدأ الوصول هو نفسه
انسخ رمز الكود كما يلي:
<%
'***************************************************************************************************************************************************************
وظيفة CopyTo (ByVal cFile، ByVal toFile)
cFile=Server.MapPath(cFile) 'الملف المطلوب نسخه احتياطيًا
toFile=Server.MapPath(toFile) 'ملف النسخ الاحتياطي
خافت cFso، راجع
اضبط cFso=Server.CreateObject(Scripting.FileSystemObject)
cFso.fileexists(cFile)
cFso.Copyfile cFile,toFile
وظيفة النهاية
'******************************************************************************************************************************************************************************
'يقوم ASP بتنفيذ عمليات النسخ الاحتياطي واستعادة قاعدة بيانات ACCESS
'هذه الصفحة هي databackup.asp
خافت dbpath,bkfolder,bkdbname,fso,fso1
الاتصال الرئيسي ()
استدعاء main2 ()
conn. Close
تعيين كون = لا شيء
الرئيسية الفرعية ()
إذا طلب (الإجراء) = النسخ الاحتياطي ثم
استدعاء البيانات الاحتياطية ()
آخر
%>
<تباعد خلايا الجدول = 1 خلية = محاذاة واحدة = عرض المركز = 90٪>
<تر>
<الارتفاع = 25>
<B>النسخ الاحتياطي لقاعدة البيانات</B>
</ال>
</tr>
<طريقة النموذج=إجراء النشر=databackup.asp?action=Backup>
<تر>
<ارتفاع td=100 style=ارتفاع الخط:150%>
مسار قاعدة البيانات الحالية (المسار النسبي):
<نوع الإدخال=حجم النص=15 اسم=قيمة مسار DB=../mdb/database.mdb><BR>
دليل قاعدة بيانات النسخ الاحتياطي (المسار النسبي):
<input type=text size=15 name=bkfolder value=../Databackup> إذا كان الدليل غير موجود، سيقوم البرنامج بإنشائه تلقائيًا<BR>
اسم قاعدة البيانات الاحتياطية (املأ الاسم):
<نوع الإدخال=حجم النص=15 اسم=قيمة bkDBname=database.mdb> إذا كان دليل النسخ الاحتياطي يحتوي على هذا
سيتم الكتابة فوق الملف إذا لم يكن موجودًا، فسيتم إنشاؤه تلقائيًا<BR>
<نوع الإدخال=قيمة submIT=بيانات النسخ الاحتياطي><hr محاذاة=عرض المركز=90% لون=#999999></td>
</tr>
</النموذج>
</الجدول>
<%
نهاية إذا
النهاية الفرعية
فرعي رئيسي 2 ()
إذا كان الطلب (الإجراء) = قم بالاستعادة بعد ذلك
Dbpath=request.form(Dbpath)
backpath=request.form(backpath)
إذا dbpath = إذن
Response.wrITEe الرجاء إدخال الاسم الكامل لقاعدة البيانات التي تريد استعادتها
آخر
Dbpath=server.mappath(Dbpath)
نهاية إذا
backpath=server.mappath(backpath)
Response.wrITe Backpath
اضبط Fso=server.createobject(scripting.filesystemobject)
إذا كان fso.fileexists (dbpath) إذن
fso.copyfile Dbpath,Backpath
Response.wrITE <font color=red>تم استرداد البيانات بنجاح! </font>
آخر
Response.wrITE <font color=red>لا يوجد ملف نسخ احتياطي لك في دليل النسخ الاحتياطي! </font>
نهاية إذا
آخر
%>
<جدول محاذاة = تباعد الخلايا في المنتصف = 1 خلية = عرض 1 = 90٪>
<تر>
<الارتفاع = 25>
<B>استعادة قاعدة البيانات</B>
</ال>
</tr>
<طريقة النموذج=إجراء النشر=databackup.asp?action=Restore>
<تر>
<الارتفاع = 100>
مسار قاعدة البيانات الاحتياطية (نسبي):
<نوع الإدخال=حجم النص=30 اسم=قيمة مسار DB=../Databackup/database.mdb> <BR>
مسار قاعدة البيانات الحالية (نسبي):
<نوع الإدخال=حجم النص=30 اسم=قيمة المسار الخلفي=../mdb/database.mdb><BR>
<نوع الإدخال=قيمة submIT=استرداد البيانات> <عرض ساعة=90% محاذاة=لون المركز=#999999>
<font color=#666666>·ملاحظة: جميع المسارات هي مسارات نسبية</font></td>
</tr>
</النموذج>
</الجدول>
<%
نهاية إذا
النهاية الفرعية
بيانات النسخ الاحتياطي الفرعية ()
Dbpath=request.form(Dbpath)
Dbpath=server.mappath(Dbpath)
bkfolder=request.form(bkfolder)
bkdbname=request.form(bkdbname)
اضبط Fso=server.createobject(scripting.filesystemobject)
إذا كان fso.fileexists (dbpath) إذن
إذا كان CheckDir(bkfolder) = True إذن
fso.copyfile dbpath,bkfolder& //& bkdbname
آخر
MakeNewsDir bkfolder
fso.copyfile dbpath,bkfolder& //& bkdbname
نهاية إذا
Response.wrITe <font color=red>تم النسخ الاحتياطي لقاعدة البيانات بنجاح. مسار قاعدة البيانات الذي قمت بنسخه احتياطيًا هو &bkfolder& //& bkdbname+</font>
آخر
Response.wrITE <font color=red>لا يمكن العثور على الملف الذي تريد نسخه احتياطيًا. </font>
انتهي إذا
النهاية الفرعية
'------------------التحقق من وجود دليل معين------------------
وظيفة CheckDir (FolderPath)
Folderpath=Server.MapPath(.)&//&folderpath
تعيين fso1 = CreateObject(Scripting.FileSystemObject)
إذا كان fso1.FolderExists(FolderPath) إذن
'يخرج
CheckDir = صحيح
آخر
"غير موجود."
CheckDir = خطأ
انتهي إذا
اضبط fso1 = لا شيء
وظيفة النهاية
'-------------إنشاء دليل بناءً على الاسم المحدد---------
وظيفة MakeNewsDir (اسم المجلد)
خافت و
تعيين fso1 = CreateObject(Scripting.FileSystemObject)
تعيين f = fso1.CreateFolder (اسم المجلد)
MakeNewsDir = صحيح
اضبط fso1 = لا شيء
وظيفة النهاية
%>