آشنایی با مفاهیم اولیه Restore کردن نسخه پشتیبان در SQL Server

آشنایی با مفاهیم اولیه Restore کردن نسخه پشتیبان در SQL Server

نوشته شده توسط: حسن سلیمانی
تاریخ انتشار: ۲۲ فروردین ۱۴۰۲
آخرین بروزرسانی: 23 دی 1403
زمان مطالعه: 5 دقیقه
۴.۵
(۸)

Restore نسخه پشتیبان در SQL Server برای بازگردانی نسخه پشتیبان در SQL Server، از دستور  Restore Databaseاستفاده کنید و فایل پشتیبان را مشخص نمایید. این دستور دیتابیس را به حالت قبلی بازمی‌گرداند. در این مقاله با مفاهیم اولیه Restore کردن نسخه پشتیبان در SQL Server  آشنا شویم. ساختار کلی یک Medial set به شکل زیر است که در قسمت Backup کامل توضیح داده شده است.

آشنایی با مفاهیم اولیه Restore کردن نسخه پشتیبان در SQL Server

دستور LABELONLY

برای مشاهده Media Header مربوط به یک Media از دستور زیر استفاده نمایید.

RESTORE LABELONLY FROM DISK = 'D:TempNW.bak'

دوره نگهداری از بانک های اطلاعاتی نیک آموز

دستور HEADERONLY

برای مشاهده Backup Set Header های موجود در یک Media از دستور زیر استفاده نمایید. افراد علاقه‌مند می‌توانند با مطالعه مقاله پرکاربردترین دستورات SQL Server، دانش خود را در زمینه کوئری‌نویسی گسترش دهند.

RESTORE HEADERONLY FROM DISK = 'D:TempNW.bak'
Or
RESTORE HEADERONLY FROM DISK = 'D:TempNW.bak'
WITH FILE = 1

دستور FILELISTONLY

برای مشاهده فایل­‌های موجود در یک Backup Set از دستور زیر استفاده نمایید. 

RESTORE FILELISTONLY FROM DISK = 'D:TempNW.bak'
WITH FILE = Filenumber

آشنایی با مفاهیم اولیه Restore کردن نسخه پشتیبان در SQL Server

بازگرداندن (RESTORE Full Backup)

برای Restore کردن در SQL Server یک Full Backup از دستور زیر استفاده نمایید.

RESTORE DATABASE Northwind FROM DISK = 'D:TempNW.bak'

دستور بالا یک بانک اطلاعاتی با نام Northwind ایجاد می­‌کند که دیتا فایل­‌ها و لاگ فایل آن در مسیر که از دستور FILELISTONLY به‌دست می‌­آید، قرار گرفته است. توجه داشته باشید اگر در آن مسیر فایل­‌های هم نامی وجود داشته باشند، این دستور با خطا مواجه خواهد شد.

 دستور جایگزین کردن (REPLACE)

در ادامه فرآیند Restore کردن نسخه پشتیبان در SQL Server اگر بخواهیم که فایل­‌های قبلی بانک اطلاعاتی (در صورت وجود) با فایل­‌های جدید (از Backup) جایگزین شود، کوئری نویسی باید از دستور زیر استفاده کرد.

RESTORE DATABASE Northwind FROM DISK = 'D:TempNW.bak'
WITH REPLACE

دستور MOVE

اگر بخواهیم مسیر دیتا فایل­‌ها و لاگ فایل موجود در Backup set را تغییر دهیم، باید در دستور RESTORE از کلمه کلیدی MOVE استفاده کرده و آدرس جدیدی برای فایل‌ها ایجاد نماییم.

RESTORE DATABASE N_Northwind FROM DISK = 'D:TempNWnew.bak'
WITH 
MOVE 'Northwind' TO 'D:Northwind.mdf',
MOVE 'Northwind_log' TO 'D:Northwind_log.ldf'

توصیه می­‌شود که از این روش، برای بازیابی استفاده شود.

 دستور VERIFYONLY

به منظور اطمینان از صحت یک Backup set از دستور زیر استفاده نمایید.

RESTORE VERIFYONLY FROM DISK = 'D:TempNWnew.bak'

در صورتی که هنگام تهیه Backup از CHECKSUM استفاده شده باشد، می‌­توان دستور بالا را به شکل زیر بازنویسی کرد. این روش، بهترین راه برای اطمینان از صحت Backup است.

RESTORE VERIFYONLY FROM DISK = 'D:TempNWnew.bak'
WITH CHECKSUM

دستور Restore Differential Backup

به منظور Restore یک Differential Backup باید به شکل زیر عمل نمود.

آشنایی با مفاهیم اولیه Restore کردن نسخه پشتیبان در SQL Server

ابتدا آخرین Full Backup قبل از Differential Backup باید به یکی از دو روش زیر بازیابی شود.

  • دستور NORECOVERY
RESTORE DATABASE N_Northwind FROM DISK = 'D:TempNWnew.bak'
WITH STATS = 1, NORECOVERY, FILE = 1,
MOVE 'Northwind' TO 'D:TempNorthwind.mdf',
MOVE 'Northwind_log' TO 'D:TempNorthwind_log.ldf'
  • دستور STANDBY
RESTORE DATABASE N_Northwind FROM DISK = 'D:TempNWnew.bak'
WITH STATS = 1, FILE = 1, 
STANDBY = 'D:TempN_Northwind.undo',
MOVE 'Northwind' TO 'D:TempNorthwind.mdf',
MOVE 'Northwind_log' TO 'D:TempNorthwind_log.ldf'

تفاوت NORECOVERY با STANDBY در این است که در حالت STANDBY، بانک اطلاعاتی به‌صورت Readonly در دسترس است اما در حالت NORECOVERY، بانک اطلاعاتی در دسترس (Restoring) نیست.

آشنایی با مفاهیم اولیه Restore کردن نسخه پشتیبان در SQL Server

پس از آن Backup Differential موردنظر خود را به یکی از روش‌­های زیر بازیابی می­‌کنید.

۱- اگر قصد بازیابی Backup Log را ندارید.

RESTORE DATABASE N_Northwind FROM DISK = 'D:TempNWnew.bak'
WITH STATS = 1, RECOVERY, FILE = 3

۲- اگر قصد بازیابی Backup Log را دارید.

  • دستور NORECOVERY
RESTORE DATABASE N_Northwind FROM DISK = 'D:TempNWnew.bak'
WITH STATS = 1, NORECOVERY, FILE = 3
  • دستور STANDBY
RESTORE DATABASE N_Northwind2 FROM DISK ='D:TempNWnew.bak'
WITH STATS = 1, FILE = 3,
STANDBY = 'D:TempN_Northwind2.undo'

روش بازیابی Log Backup

روش بازیابی Log Backup مشابه روش Differential Backup است. اگر شما Full Backup را بازیابی کرده‌اید و هیچ Differential Backup ای ندارید، باید از اولین Log Backup بعد از Full شروع به بازیابی کنید.

اما اگر شما در بین Log Backup های خود Differential داشته باشید، می­‌توانید ابتدا Differential موردنظر خود را بازیابی کرده و سپس از اولین Log بعد از  Differential فرآیند بازیابی خود را ادامه دهید. توجه داشته باشید که در اینجا نیز می‌­توانید از هرکدام از روش­‌های NORECOVERY یا STANDBY استفاده نمایید. برای درک بهتر، به مثال زیر توجه فرمایید.

آشنایی با مفاهیم اولیه Restore کردن نسخه پشتیبان در SQL Server

  • گام اول:
RESTORE DATABASE N_Northwind FROM DISK = 'D:TempNWnew.bak'
WITH STATS = 1, NORECOVERY, FILE = 1,
MOVE 'Northwind' TO 'D:TempNorthwind.mdf',
MOVE 'Northwind_log' TO 'D:TempNorthwind_log.ldf'
  • گام دوم:

RESTORE DATABASE N_Northwind FROM DISK = 'D:TempNWnew.bak'
WITH STATS = 1, NORECOVERY, FILE = 4
  • گام سوم:

RESTORE DATABASE N_Northwind FROM DISK = 'D:TempNWnew.bak'
WITH STATS = 1, NORECOVERY, FILE = 5
  • گام چهارم:

RESTORE DATABASE N_Northwind FROM DISK = 'D:TempNWnew.bak'
WITH STATS = 1, RECOVERY, FILE = 6

دستور Restore With Recovery

اگر فرآیند Restore شما به اتمام رسیده است اما فراموش کرده‌اید که بانک اطلاعاتی را از حالت NORECOVERY یا STANDBY خارج کنید، می‌­توانید از دستور زیر کمک بگیرید.

RESTORE DATABASE N_Northwind WITH RECOVERY

سخن پایانی

با استفاده از Log Backup های خود می‌­توانید بانک اطلاعاتی را تا یک زمان خاص بازیابی کنید. روش کار مشابه Restore مربوط به Log است؛ با این تفاوت که در آخرین مرحله بازیابی، باید از کلمه کلیدی STOPAT استفاده شود.

RESTORE DATABASE N_Northwind FROM DISK = 'D:TempNWnew.bak'
WITH STATS = 1, RECOVERY, FILE = 6, 
STOPAT = '2021-08-19 02:22:21.458'

Restore نسخه پشتیبان در SQL Server به بازگردانی داده ها در این دیتابیس کمک میکند. با این ویژگی نگرانی مدیران پایگاه داده برای از دست دادن داده های خود به حد قابل توجهی کاهش میابد. ما در نیک آموز منتظر نظرات ارزشمند شما درباره این مقاله هستیم.

چه رتبه ای می‌دهید؟

میانگین ۴.۵ / ۵. از مجموع ۸

اولین نفر باش

title sign
دانلود مقاله
آشنایی با مفاهیم اولیه Restore کردن نسخه پشتیبان در SQL Server
فرمت PDF
7 صفحه
حجم 0.759 مگابایت
دانلود مقاله
title sign
معرفی نویسنده
حسن سلیمانی
مقالات
7 مقاله توسط این نویسنده
محصولات
0 دوره توسط این نویسنده
حسن سلیمانی
title sign
دیدگاه کاربران

close-image

دانلود رایگان: آموزش SQL Server

هر روز یک ویدئو آموزشی رایگان برای شما ایمیل خواهد شد!

پاپ آپ | SQL Server

  • این قسمت برای اهداف اعتبارسنجی است و باید بدون تغییر باقی بماند.