-9
Performing Backups (أداء الbackups)
قد ذكرت في الموضوع السابق أنة يجب عمل backup سواء للsystem databases أو للuser databases ويكون ذلك للحفاظ على قواعد البيانات من الضياع , حيث أنه فى حالة حدوث تلف لقواعد البيانات لأى سبب من الأسباب فيمكننا بسهولة أرجاع قاعدة البيانات ولكن ذلك يتوقف على أخر backup للقاعدة ولذلك دائما يوصى بعمل backup على فترات دورية .
يكون أداء الbackup عن طريق :
1 - إنشاء backup بإستخدام permenant device (متعدد الأستخدام).
وهذا الdevice يمكن إعادة إستخدامه مرة أخرى فى عملية الbackup ويتم إنشاءه عن طريق Enterprise Manager وذلك من خلال الdesign أو عن طريق هذا الكود
Syntax
sp_addumpdevice [ @devtype = ] 'device_type' ,
[ @logicalname = ] 'logical_name' ,
[ @physicalname = ] 'physical_name'
[ , { [ @cntrltype = ] controller_type
| [ @devstatus = ] 'device_status'
}
]ويتكون ال'device_type' من ثلاث أنواع وهم hard disk أو tape أو named pipe .
وال'logical_name' هو أسم الbackup
وال'physical_name' هو موقعه في الhard disk
مثال على الكود السابق
* في حالة إنشاء backup على disk.
EXEC sp_addumpdevice 'disk', 'mydiskdump', 'c:\dump\dump1.bak'
* في حالة إنشاء backup على network.
EXEC sp_addumpdevice 'disk', 'networkdevice', '\\servername\sharename\path\filename.ext'
* في حالة إنشاء backup على tape.
EXEC sp_addumpdevice 'tape', 'tapedump1', '\\.\tape0'
2 - إنشاء backup بدون إستخدام permenant device
ويستخدم هذا الdevice مرة واحدة فقط وذلك إما لأداء backup مرة واحدة أو لإختبار عملية الbackup أو أنشاء backup file مؤقت .
والكود هو
BACKUP DATABASE { database_name | @database_name_var }
TO < backup_device > [ ,...n ]
Where < backup_device > ::=
{
{ logical_backup_device_name | @logical_backup_device_name_var }
|
{ DISK | TAPE } =
{ 'physical_backup_device_name' | @physical_backup_device_name_var }
}3 - إنشاء backup بإستخدام عدد من back up files
الSQL Server يمكنه عمل backup في أكثر من file في وقت واحد (بشكل متوازى) وهذا بالطبع يقلل من الوقت المستغرق للbackup .
والكود
BACKUP DATABASE { database_name | @database_name_var }
TO < backup_device > [ ,...n ]
[ WITH
[ MEDIANAME = { media_name | @media_name_variable } ]
]وعند إستخدام هذه الطريقة يجب مراعاة
* أن تكون كل الdevices من نفس النوع (disk أو tape) لعملية backup لمرة واحدة.
* يمكن إستخدام دمج من ملفات متعددة الإستخدام (permenant files) و ملفات مؤقتة (temporary files) عند إنشاء backup set .
* عند تعريف ملف كعضو من backup set , فيجب إستخدام الملفات مع بعضها.
* لا يمكن إستخدام عضو واحد (ملف واحد) من الbackup set لعملية الbackup إلا في حالة إعادة تشكيل (reformat) لكل الملفات.
* في حالة إعادة تشكيل (reformat) لملف من الbackup set فإن باقى الملفات في backup set تصبح غير ذا جدوى أو غير قابل للإستخدام.
4 - إنشاء backup بإستخدام جملة الbackup
BACKUP DATABASE { database_name | @database_name_var }
TO < backup_device > [ ,...n ]
[ WITH
[ FORMAT | NOFORMAT ]
[ [ , ] { INIT | NOINIT } ]
]الINIT هى أن يتم عمل الbackup بربطه مع عملية الbackup السابقة أى (appends to backup file) .
الNO INIT هى أن يتم عمل الbackup بإعادة الكتابة على الملف (overwrites a back up file) مع حفظ عنوان الملف.
الFORMAT هى أن يتم عمل الbackup بإعادة الكتابة على الملف (overwrites a back up file) مع عدم حفظ عنوان الملف.
5 - إنشاء backup بإستخدام Tape
* عند عمل backup للtape , فإنه يجب أن يكون متصل محليا (locally) بالSql Server.
* عند عمل backup للtape , فإن الSql Server يسجل بيانات الtape وهى عبارة عن : أسم قاعدة البيانات , الوقت , التاريخ , نوع الbackup.
* Sql Server يستخدم هيئة (format) ثابتة للbackup تسمى Microsoft Tape Format , ولهذا فيمكن أن يوجد بيانات كل من Sql Server و non-Sql Server على نفس الtape.
على سبيل المثال يمكن أن يوجد Sql Server backup و Microsoft Windows 2000 backup على نفس الtape.
الحمد لله أن أعاننى على إتمام الجزء الثالث
-waf