مبانی Backup، Recovery Model و Backup Strategy در SQL Server
یادداشت حقوقی: کاربر حق ترجمه و بازنشر این اثر را برای پروژه تأیید کرده است.PAGE-423فصل ۱۲ — Backup and Restore
Backup Fundamentals و Recovery Models
Backup یکی از مهمترین وظایف DBA است، اما Backup زمانی ارزش دارد که Restore آن آزموده شده باشد. Recovery Model تعیین میکند Transaction Log چگونه مدیریت شود و چه نوع Restore/Point-in-Time ممکن باشد. سه Model اصلی SIMPLE، FULL و BULK_LOGGED هستند.
PAGE-424SIMPLE
در SIMPLE، Log پس از Checkpoint و نبود وابستگی قابل Reuse است و Log Backup نداریم؛ بنابراین Point-in-Time Restore میان Full/Differential Backup ممکن نیست. برای Databaseهایی که از دست دادن تغییرات اخیر قابل قبول است یا داده قابل بازسازی است، SIMPLE میتواند مناسب باشد.
PAGE-425FULL
FULL تمام عملیات لازم را در Log نگه میدارد و با زنجیره Log Backup امکان Point-in-Time Restore میدهد. پس از تغییر از SIMPLE به FULL، تا زمانی که اولین Full یا Differential Backup مناسب گرفته نشود Log Chain قابل اتکا شکل نگرفته است.
PAGE-426BULK_LOGGED
BULK_LOGGED برای برخی Bulk Operationها Minimal Logging را ممکن میکند، اما همیشه سریعتر از FULL نیست. اگر Log Backup شامل Bulk-logged operation باشد، Restore Point-in-Time داخل آن Log Backup محدود میشود. کتاب Database نمونه Chapter12 را ایجاد میکند.
PAGE-427Database نمونه چند Data File/Filegroup دارد تا File/Filegroup Backup و Piecemeal Restore بعداً نشان داده شود. مسیر Fileها باید متناسب با Instance واقعی تغییر کند.
PAGE-428تغییر Recovery Model
ALTER DATABASE Chapter12 SET RECOVERY FULL;
-- یا
ALTER DATABASE Chapter12 SET RECOVERY SIMPLE;
پس از تغییر، Object Explorer باید Refresh شود. تغییر Model باید با Backup Schedule هماهنگ باشد.
Figure 12-1 — شکل/تصویر منبع، صفحه PDF 428PAGE-429Backup Types
- Full Backup: تمام Data Pageهای لازم و بخشی از Log برای Consistency
- Differential Backup: Extentهای تغییرکرده از آخرین Full پایه
- Transaction Log Backup: Log Recordها از نقطه قبلی در Log Chain
ترکیب Full + Differential + Log تعادل میان Backup Window، Storage و Restore Time ایجاد میکند.
PAGE-430Backup Media
Backup میتواند روی Disk/Tape/URL و Deviceهای منطقی نوشته شود. یک Media Set شامل Media Familyهاست و Backup Setهای متوالی میتوانند روی همان Media Set قرار گیرند. Header Metadata برای Restore و تشخیص Sequence اهمیت دارد.
Figure 12-2 — شکل/تصویر منبع، صفحه PDF 430PAGE-431Backup Device
Logical Backup Device نامی در SQL Server است که به Physical Path/Tape اشاره میکند. Device استفاده Scriptها را ساده میکند، ولی نگهداری Path، ظرفیت و Permission همچنان وظیفه DBA است.
PAGE-432EXEC master.dbo.sp_addumpdevice 'disk', 'Chapter12Device', 'D:\Backups\Chapter12.bak';
Media Set و Backup Set
Media Set ظرف فیزیکی/منطقی Backup و Backup Set هر عملیات Backup داخل آن است. INIT/FORMAT میتواند Header/Setها را بازنویسی کند و استفاده اشتباه از آنها Backupهای قبلی را از بین میبرد.
PAGE-433Backup Strategies
سادهترین Strategy فقط Full Backup است؛ Restore آسان ولی Backup Window و Storage برای Database بزرگ زیاد میشود. Full + Log اجازه RPO کوچکتر میدهد و Full + Differential + Log زمان Restore را با کاهش تعداد Log Backupهای لازم پس از Full متعادل میکند.
PAGE-434Filegroup Backup
برای Database بزرگ میتوان Filegroupها را جدا Backup کرد. این روش همراه با Read-Only Filegroup و Piecemeal Restore مفید است، اما Complexity Backup Catalog و Restore Sequence بیشتر میشود. فایل منفرد نیز قابل Backup است، ولی Strategy باید Recoverability کل Database را تضمین کند.