جهش به محتوا
ورود کاربران
هاست و نمایندگی

مقاله از بکاپ‌گیری و ریستور دیتابیس sql server

هر زمان نیاز به کمک داشتید، در کنار شما هستیم . با ما تماس بگیرید ( 031-3626 0000 ) یا درخواست خود را به صورت آنلاین ثبت نمایید.

بکاپ‌گیری و ریستور دیتابیس sql server

پیش‌تر در این مقاله در مورد اینکه sql server چیست و نحوه نصب sql server روی سرورهای مجازی صحبت کردیم، در این مقاله قصد داریم در مورد بکاپ‌گیری و ریستور دیتابیس sql server صحبت کنیم.

گاهی اوقات در بکاپ گیری از دیتابیس ممکن است بعضی از جداول‌ در بکاپ موجود نباشند که این همیشه یک معضل بزرگ برای کاربران و برنامه نویسان است. ما در این آموزش، قصد داریم روش‌های مختلف بکاپ‌گیری را از طریق کنترل پلسک، نرم افزار SQL Server Management Studio و از طریق ایجاد اسکریپت قدم به قدم توضیح دهیم.

فرآیند بکاپ‌گیری بسیار مهم است زیرا بکاپ‌گیری و ریستور دیتابیس یکی از مهمترین وظایف روزمره مدیر بانک اطلاعاتی است.

مواردی که در آموزش بکاپ‌گیری دیتابیس با روش های مختلف از داخل SQL Server و پلسک بررسی خواهیم کرد به ترتیب:

  • بکاپ‌‌گیری و ریستور دیتابیس از طریق کنترل پنل پلسک
  • بکاپ‌‌گیری و ریستور دیتابیس از طریق نرم افزار Sql Server Management Studio
  • بکاپ‌گیری دیتابیس sql server از طریق Generate Script

 

بکاپ‌‌گیری و ریستور دیتابیس   از طریق کنترل پنل پلسک

ابتدا وارد هاست ویندوز خود شوید و روی گزینه‌ی Database کلیک کنید

plesk db

 

 

در این بخش نام دیتابیس خود را مشاهده می‌کنید، جهت خروجی گرفتن یا تهیه بکاپ از دیتابیس، بر روی گزینه‌ی Export Dump کلیک کنید.

export dump

 

پنجره‌ی کوچکی با نام Export Dump باز می‌شود، در ابتدا مشخص کنید که فایل بکاپ در کدام قسمت هاست ذخیره گردد و در صورتی که تیک گزینه‌ی Automatically download dump after creation را بزنید، پس از گرفتن export از دیتابیس، یک فایل zip بصورت اتوماتیک دانلود می‌کند.

 

directory

 

با زدن Ok عملیات بکاپ‌ گیری آغاز و در قسمت پایین صفحه پنجره‌ی سیاه رنگ کوچکی که گویای مراحل بکاپ گیری است را مشاهده می‌نمایید. بعنوان مثال در عکس زیر بکاپ در مرحله‌ی Prepairing هست

dumping

 

پس از اتمام روند بکاپ‌گیری پیغام The dump of database name is ready. You can Download it. را مشاهده می‌نمایید. اگر در مرحله‌ی قبل تیک گزینه‌ی Automatically download dump after creation را زده باشید، بکاپ بصورت اتوماتیک دانلود می‌شود ولی اگر این تیکت را نزده باشید، با کلیک روی Downlod می‌توانید بکاپ را بصورت یک فایل zip دانلود نمایید.

Complete

 

 

پس از دانلود بکاپ، آن را Extract کنید و فایل بکاپ را Rename کرده و پسوند bak. را به انتهای آن اضافه نمایید، سپس جهت ریستور، مانند تصویر زیر، روی گزینه‌ی import dump کلیک کنید

import

 

روی دکمه‌ی choose file  کلیک و مسیر فایل بکاپ را باز کنید.

import

سپس فایل بکاپ را انتخاب و روی Ok کلیک می‌کنیم

bak

 

پس از import و restore، پیغام سبزرنگ The dump database name was imported. را مشاهده می‌فرمایید که نشان‌دهنده‌ی با ریستور موفقیت آمیز بکاپ است.

imported

 

بکاپ‌ گیری و ریستور از طریق نرم افزار Sql Server Management Studio

SQL Server Management Studio (SSMS) نرم افزاری است که نخستین بار با Microsoft SQL Server 2005 ارائه شد که برای کانفیگ و مدیریت کلیه پارامترها در Microsoft Sql Server استفاده می‌شود. این نرم افزار جایگزین Enterprise Manager در SQL 2000 یا قبل از آن است. این ابزار شامل Editor اسکریپت و ابزارهای گرافیکی است که با اشیاء و ویژگی های سرور کار می کنند.

مایکروسافت این نرم افزار را از ورژن 11 ارائه کرد و بر اساس پوسته Visual Studio 2010 ساخت. ورژن‌های 18 و بعد از آن را نیز بر اساس Visual Studio 2017 Isolated Shell ساخت. در ژوئن سال 2015، این شرکت تصمیم خود را برای انتشار ورژن‌های آینده SSMS به طور مستقل از نسخه‌های موتور سوکت پایگاه داده SQL Server اعلام کرد. آخرین ورژن SSMS  تا این لحظه 18.4 در نوامبر 2019 است.

بکاپ‌گیری از طریق SSMS

جهت بکاپ‌گیری از طریق نرم افزار sql server management studio، ابتدا به نرم افزار لاگین کرده (با یوزرنیم و پسورد Sql Server وارد شوید) و دیتابیس مورد نظرمان را انتخاب می‌کنیم.

sql

 

روی دیتابیس راست کلیک کنید و از منوی Task گزینه‌ی Backup را انتخاب کنید.

sql backup

 

در پنجره‌ی زیر موارد پیش‌فرض را تغییر نمی‌دهیم، دقّت داشته باشید که Backup Type بر روی Full باشد، در قسمت وسط صفحه در بخش Destination روی گزینه‌ی Add کلیک کنید.

full

 

پنجره‌ی کوچک Select Backup Destination باز می‌شود، جهت تنظیم مسیر فایل بکاپ روی دکمه‌ی … کلیک کنید.

 

path

 

پنجره‌ی Locate Database files، درایوهای سیستم‌تان یا سرورتان را مشاهده می‌کنید، مسیر مورد نظرتان را انتخاب و در پایین پنجره در فیلد files of type، گزینه‌ی bak. را انتخاب و در بخش File name، نامی که قصد داریم به بکاپ دیتابیس اختصاص دهیم را درج می‌کنیم و حتماً bak. را در انتهای نام فایل بکاپ درج می‌کنیم.

 

path and name

 

در این مرحله، مسیر و نامی را که در مرحله قبل برای بکاپ دیتابیس sql server اختصاص دادیم، مشاهده می‌کنیم و روی Ok کلیک می‌کنیم.

ok

 

اکنون در بخش Destination مسیر و نامی که برای بکاپ دیتابیس sql server تعریف کرده بودیم را مشاهده می‌کنیم، روی Ok کلیک کنید

Ok

ریستور بکاپ دیتابیس از طریق SSMS

جهت ریستور بکاپ روی دیتابیس که قبلاً تهیه نموده‌اید، دیتابیس مد نظر را که قصد ریستور یک بکاپ sql server روی آن دارید، انتخاب نمایید. (در اینجا نام دیتابیس sql server ما، maralhost_db می‌باشد)

Restore

 

روی دیتابیس راست کلیک کنید و از منوی Task گزینه‌ی Restore و از زیر منو، گزینه‌ی Database را انتخاب نمایید.

restore

 

پنجره‌ی Restore Database برای شما باز می‌شود، در بخش Source گزینه‌ی Device را انتخاب و سپس روی دکمه‌ی … کلیک کنید

restore

 

پنجره‌ی Select Backup Device باز می‌شود، در بخش Backup Media روی گزینه‌ی Add کلیک کنید

restore

 

سپس در پنجره‌ی Locate Backup File، از مسیری که فایل بکاپ در آن قرار دارد،فایل بکاپ را انتخاب و روی Ok کلیک نمایید.

restore

 

مجدد به پنجره‌ی Select Backup Device باز می‌گردیم، روی Ok کلیک می‌کنیم

restore

 

اکنون روی گزینه‌ی Options کلیک کنید، تیکت دو گزینه‌ی Overwrite the existing database و Restrict access to restore database را بزنید و در وسط صفحه، در بخش Tail-Log backup، گزینه‌ی Take tail-log backup before restore را غیر فعّال نمایید

restore

 

سپس روی Ok کلیک کنید، مطابق با تصویر زیر مشاهده می‌کنید که ریستور در حال انجام (in progress) است.

restore

 

پس از اتمام ریستور مطابق با تصویر زیر با پیغام Database database name restored successfully. مواجه می‌شویم که به معنی ریستور شدن موفق بکاپ دیتابیس sql server می‌باشد.

restore

 

بکاپ گیری دیتابیس sql server از طریق Generate Script

جهت تهیه اسکریپت ابتدا به Sql server management studio لاگین و دیتابیسی که قصد داریم از آن Script تهیه کنیم را انتخاب می‌کنیم، در اینجا نام دیتابیس مورد نظر ما، admin_db است. روی دیتابیس راست کلیک و از زیر منو، گزینه‌ی Tasks، گزینه‌ی Generate Scripts را انتخاب می‌کنیم.

generate script

 

پنجره‌ی Generate and publish scripts برای شما باز می‌شود، روی Next کلیک کنید.

generate script

 

در این مرحله صبر کنید تا Database information لود شود و سپس روی Next کلیک کنید.

db info

 

در مرحله‌ی Select the database objects to script گزینه‌ی Script entire database and all database objects را انتخاب و روی next کلیک کنید.

 

به مرحله‌ی Specify how scripts should be saved or published می‌رسیم، در بخش Output type، گزینه‌ی Save scripts to a specific location را انتخاب و در وسط صفحه، گزینه‌ی Save to file را انتخاب نمایید، در بخش File name مسیر و نام فایل اسکریپت را تعیین و در بخش save as گزینه‌ی Unicode text را انتخاب نموده و روی next کلیک کنید.

advanced

در مرحله‌ی بعد، Review your selection می‌توانید خلاصه‌ای از انتخاب‌ها در مراحل قبل را مشاهده بفرمایید. روی next کلیک کنید.

review

 

مطابق با تصویر زیر روند خروجی گرفتن از دیتابیس sql server آغاز شده است.

inprogress

 

پس از گذشت چند دقیقه، script از دیتابیس Sql server تهیه می‌شود، روی finish کلیک کنید.

finish

 

جهت ریستور script تهیه شده از دیتابیس Sql server روی دیتابیس دیگر، ابتدا فایل اسکریپت را با یک نرم افزار editor متن مانند ++ Note Pad باز کنید، کلید‌های ctrl+F را فشار دهید تا پنجره‌ی find and replace برای شما باز شود، سپس تب replace را باز کنید، در فیلد find what نام دیتابیسی که از آن script تهیه کردید را درج کنید و در فیلد Replace with، نام دیتابیسی که قصد دارید این اسکریپت روی آن ریستور شود را درج نمایید

replace

 

حال وارد نرم افزار sql server management studio شوید، دیتابیسی که قصد دارید بکاپ روی آن ریستور گردد را انتخاب کنید و روی آن راست کلیک کنید و گزینه‌ی New Query را انتخاب نمایید.

new query

 

وقتی صفحه‌ی Query باز شد، کلیه‌ی کُدهای درون فایل Script را کپی کنید و در قسمت Query نرم افزار sql server management studio، کُدها را paste کنید، سپس از نوار بالای صفحه، روی گزینه‌ی Execute کلیک کنید

execute

 

مطابق با تصویر زیر، Query اجرا و در انتها پیغام successfull را روی صفحه نمایش خواهید دید.

 

Query successfull

 

 

 

 

این مقاله برای شما مفید بود؟
بلهخیر