Database Snapshot و بازیابی داده در SQL Server | Pro SQL Server 2019 Administration

Database Snapshot و بازیابی داده در SQL Server

توسط admin | گروه SQL Server | 1405/05/20

نظرات 0

Database Snapshot و بازیابی داده در SQL Server

Chapter 16 — Database Snapshots

نویسنده: Peter A. Carter

زبان منبع: انگلیسی

محدوده: صفحات PDF 579 تا 586

تاریخ ترجمه: 2026-08-11

اعتبار ترجمه: ترجمه با کمک هوش مصنوعی

PAGE-579

فصل ۱۶ — Scaling Workloads: Database Snapshots

Database Snapshot نمای Read-only و Transactionally Consistent از Database در یک نقطه زمان است. Snapshot از Sparse File و Copy-on-Write استفاده می‌کند؛ هنگام تغییر Page در Source، نسخه اصلی Page قبل از Write در Sparse File Snapshot کپی می‌شود.

PAGE-580

در لحظه Create، Snapshot تقریباً Data را کپی نمی‌کند. Map به Source Page وجود دارد. اولین تغییر یک Page باعث Copy نسخه قدیمی به Snapshot می‌شود و سپس Source Page تغییر می‌کند.

PAGE-581

Read از Snapshot اگر Page هنوز تغییر نکرده باشد از Source و اگر تغییر کرده باشد از Sparse File خوانده می‌شود. با گذر زمان و تغییر بیشتر Source، Snapshot Space رشد می‌کند.

PAGE-582

کاربرد و محدودیت

Snapshot برای Reporting کوتاه‌مدت، Recover اشتباه User و Point-in-time Comparison مفید است. Snapshot Backup نیست؛ اگر Source Database/Storage از بین برود Snapshot وابسته نیز قابل اتکا نیست. Snapshot قدیمی می‌تواند Space زیادی مصرف کند.

کتاب Database ‏Chapter16 را برای مثال می‌سازد.

PAGE-583

Table و داده نمونه ایجاد می‌شود تا تغییرات بعد از Snapshot قابل مقایسه باشد.

PAGE-584

درج داده تکمیل و Source آماده Snapshot می‌شود. Snapshot باید برای هر Data File یک Sparse File Destination داشته باشد؛ Log File در Snapshot وجود ندارد.

PAGE-585
CREATE DATABASE Chapter16_Snapshot
ON
( NAME = Chapter16,
  FILENAME = 'D:\Snapshots\Chapter16_Snapshot.ss' )
AS SNAPSHOT OF Chapter16;

Client را می‌توان برای Reporting به آخرین Snapshot هدایت کرد، اما Snapshot Read-only است و Naming/Retention باید مدیریت شود.

PAGE-586

Recover Lost Data

برای بازیابی Row حذف‌شده می‌توان داده را از Snapshot SELECT و به Source INSERT کرد. همچنین Database را می‌توان با RESTORE DATABASE ... FROM DATABASE_SNAPSHOT به کل Snapshot برگرداند؛ این Rollback همه تغییرات بعد از Snapshot را حذف می‌کند و باید بسیار آگاهانه اجرا شود.

امتیاز کاربران به این مقاله

☆☆☆☆☆

0 نفر امتیاز داده اند. میانگین: 0.0 از 5

 

0 نظر

نظر محترم شما در مورد مقاله های وب سایت برنامه نویسی و پایگاه داده

نظرات محترم شما در خدمات رسانی بهتر ما را یاری می نمایند. لطفا اگر مایل بودید یک نظر ما را مهمان فرمائید. آدرس ایمیل و وب سایت شما نمایش داده نخواهد شد.

0 / 500