وضعیت سرورها

وبــلاگ

وضعیت سرورها
  • SQL Server Snapshot

    بهاره قلندرنژاد جمعه ۲۹ اسفند ۱۳۹۳ آموزش , معرفی نرم‌افزار , پایگاه داده

    یکی از قابلیت‌های SQL Server ویژگی Snapshot گرفتن از Database (پایگاه داده)‌ است. همانطور که از اسم آن نیز پیداست Snapshot به‌معنی image گرفتن از پایگاه داده می‌باشد. Snapshot پایگاه داده، viewای از پایگاه داده اصلی در زمانی‌که Snapshot ایجاد شده است را نمایش می‌دهد، بدین معنی که کلیه objectها و داده‌ها با زمانی‌که Snapshot گرفته شده‌است یکسان خواهد بود.

    Snapshot به‌صورت فقط خواندنی است و یک پایگاه داده می‌تواند شامل چندین Snapshot باشد. با استفاده از Snapshot در زمان‌های لازم می‌توانید تغییرات را به حالت قبل (در زمانی‌که Snapshot به‌روز شده‌است) بازگردانی نمائید. امکان حذف پایگاه داده اصلی تا زمانی‌که Snapshotها فعال باشند وجود ندارد و ابتدا باید آن‌ها را حذف نمود.

    Snapshotها وابسته به پایگاه داده هستند و به پایگاه داده اصلی اشاره می‌کنند؛ این امکان وجود دارد که فایل بک‌آپ پایگاه داده را به محل دیگری (سیستم مجزایی) منتقل نمود اما Snapshotها را نمی‌توان از پایگاه داده اصلی جدا نمود.

    مزیت استفاده از Snapshot سرعت بالای آن در هنگام ایجاد، بازگردانی و اِشغال فضای کمتر می‌باشد. ویژگی بارز Snapshot این است که Client می‌تواند پس از ایجاد بر روی آن Query (کوئری) اجرا کند و مانند فایل بک‌آپ نیاز به ایجاد یک پایگاه داده مجزا و بازگردانی بک‌آپ برروی پایگاه داده ایجاد شده ندارد؛ این یکی از مهم‌ترین دلایل برای اضافه نمودن این قابلیت توسط تیم توسعه دهنده  SQL Server بوده‌است.

    کاربرد Snapshot:

    به‌عنوان نمونه می‌توان به کاربردهای زیر جهت ایجاد Snapshot اشاره نمود:

    • Snapshotها می‌توانند برای اهداف گزارش گیری استفاده شوند. Clientها می‌توانند با کوئری گرفتن از Snapshotها از داده‌های پایگاه داده در فواصل زمان‌هایی که Snapshotها ایجاد شده‌اند گزارش تهیه کنند.
    • حفظ داده‌های تاریخی برای تولید گزارش.
    • حفاظت از داده‌ها در برابر خطاهای اجرایی.
    • در صورت خطای کاربری در Source پایگاه داده با استفاده از Snapshot گرفته شده می‌توان تغییرات را به زمان ایجاد Snapshot بازگرداند.
    • جهت تست صحت عملکرد پایگاه داده.

     آموزش کار با Snapshot:

    برای درک بهتر مراحل را با یک مثال توضیح خواهم داد.

    ابتدا یک پایگاه داده به‌عنوان نمونه با یک Table (جدول) که دارای داده‌های آزمایشی باشد ایجاد می‌کنیم:

    ایجاد snapshot:

    به‌صورت زیر می‌توانید از پایگاه داده در حالت فعلی Snapshot بگیرید:

    حال محتوی جدول در پایگاه داده اصلی و Snapshot را به کمک دستورات زیر مشاهده کنید:

    محتوی جدول در پایگاه داده اصلی و Snapshot

    محتوی جدول در پایگاه داده اصلی و Snapshot به کمک دستور فوق

    سپس داده‌های ایجاد شده در جدول را از پایگاه داده TestDB به کمک دستورات زیر حذف می‌کنیم:

    مجدد محتوی جداول را مشاهده کنید، خروجی مشابه تصویر زیر خواهد بود.

    SQL Server Snapshot

    بازگردانی داده به کمک snapshot:

    می‌توانید به کمک Snapshot داده‌های حذف شده را به پایگاه داده اصلی بازگردانی کنید؛ برای این منظور می‌توانید از دستورات زیر استفاده کنید:

    بازگردانی داده به کمک snapshot

    بازگردانی داده به کمک snapshot

     حذف snapshot:

    جهت حذف Snapshot می‌توانید از دستورات زیر استفاده کنید.

    0

    برچسب ها :

با عضویت در خبرنامه شما را از آخرین تجربیات مان و مطالب تخصصی آگاه خواهیم کرد.

پاسخ دهید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *