راهنمای کامل Restore Master در SQL Server: گام به گام تا بازگشت سیستم
Restore Master در SQL Server یکی از حساسترین و حیاتیترین وظایف یک مدیر دیتابیس است. دیتابیس Master، قلب سیستم SQL Server محسوب میشود و شامل تمامی اطلاعات سیستمی مانند پیکربندی سرور، اطلاعات دیتابیسها، لاگینها، و اندپوینتها است. خرابی یا از دست رفتن این دیتابیس میتواند منجر به عدم راهاندازی کل سرویس SQL Server شود، بنابراین داشتن یک برنامه بازیابی قوی و درک کامل مراحل آن ضروری است.
چرا Restore Master اینقدر مهم و حساس است؟
دیتابیس Master حاوی تمام ابردادههای سیستمی برای یک نمونه SQL Server است. این اطلاعات شامل محل فایلهای دیتابیس کاربر و سیستم، اطلاعات لاگینها، پیکربندی سرور، و نامگذاری دیتابیسها میشود. بدون دیتابیس Master سالم، SQL Server نمیتواند کار کند، زیرا نمیتواند بداند دیتابیسهای دیگر کجا هستند یا چگونه باید راهاندازی شوند. به همین دلیل، بازیابی دقیق و صحیح آن برای پایداری و عملکرد مجدد SQL Server حیاتی است.
مراحل بازیابی دیتابیس Master
برای Restore Master، باید SQL Server را در حالت خاصی راهاندازی کنید که امکان دسترسی انحصاری برای عملیات بازیابی را فراهم کند. در ادامه، مراحل گام به گام برای این کار آورده شده است:
گام ۱: راهاندازی SQL Server در حالت تککاربره
ابتدا، باید سرویس SQL Server را متوقف کرده و سپس آن را در حالت تککاربره راهاندازی کنید. این حالت تضمین میکند که هیچ برنامه یا کاربری به جز فرایند بازیابی نمیتواند به SQL Server متصل شود.
برای توقف سرویس SQL Server، از خط فرمان (Command Prompt) با امتیازات Administrator استفاده کنید و دستور زیر را اجرا کنید:
NET STOP MSSQLSERVER
پس از توقف سرویس، SQL Server را در حالت تککاربره راهاندازی کنید. متداولترین روش استفاده از پارامتر -m است:
NET START MSSQLSERVER /m
اگر برای اتصال از sqlcmd استفاده میکنید، میتوانید پارامتر -m را به همراه نام کلاینت (مثلاً SQLCMD) مشخص کنید تا فقط آن کلاینت اجازه اتصال داشته باشد:
NET START MSSQLSERVER -mSQLCMD
گزینه دیگر استفاده از پارامتر -f برای راهاندازی در حداقل پیکربندی است که SQL Server را با حداقل تنظیمات فعال میکند:
NET START MSSQLSERVER /f
گام ۲: اتصال به SQL Server با استفاده از sqlcmd
پس از راهاندازی SQL Server در حالت تککاربره، باید از طریق sqlcmd به آن متصل شوید. این ابزار خط فرمان بهترین گزینه برای مدیریت SQL Server در این حالت است.
در یک پنجره Command Prompt جدید، دستور زیر را اجرا کنید. SERVER\INSTANCE را با نام سرور و نام نمونه (در صورت وجود) خود جایگزین کنید:
sqlcmd -S SERVER\INSTANCE -E
پارامتر -E نشاندهنده استفاده از احراز هویت ویندوز است.
گام ۳: Restore Master
اکنون که به SQL Server متصل هستید، میتوانید دستور RESTORE DATABASE را برای بازیابی دیتابیس Master اجرا کنید. اطمینان حاصل کنید که فایل پشتیبان (backup file) از دیتابیس Master سالم و در دسترس است. این فایل باید یک نسخه پشتیبان کامل و معتبر از دیتابیس Master باشد.
مثال زیر نحوه بازیابی دیتابیس Master از یک فایل پشتیبان در مسیر مشخص شده را نشان میدهد:
RESTORE DATABASE master FROM DISK = 'C:\Backup\master.bak' WITH REPLACE;
GO
عبارت WITH REPLACE ضروری است تا اطمینان حاصل شود که دیتابیس Master موجود بازنویسی میشود. پس از اجرای موفقیتآمیز این دستور، اتصال شما به SQL Server قطع خواهد شد، زیرا Master دیتابیس مجدداً راهاندازی میشود. این یک رفتار عادی است.
گام ۴: راهاندازی مجدد SQL Server در حالت عادی (چندکاربره)
پس از اتمام بازیابی دیتابیس Master و قطع اتصال، باید سرویس SQL Server را به طور کامل متوقف کرده و سپس آن را در حالت عادی (چندکاربره) راهاندازی کنید تا کاربران و برنامهها بتوانند دوباره به آن متصل شوند.
ابتدا، مجدداً سرویس SQL Server را متوقف کنید:
NET STOP MSSQLSERVER
سپس، سرویس را بدون هیچ پارامتر خاصی راهاندازی کنید تا به حالت عادی برگردد:
NET START MSSQLSERVER
اکنون SQL Server باید با دیتابیس Master بازیابی شده و در حالت عادی در دسترس باشد.
نکات مهم پس از Restore Master
بازیابی دیتابیس Master یک عملیات بحرانی است که نیازمند دقت و برنامهریزی قبلی است. چندین نکته مهم وجود دارد که باید پس از بازیابی در نظر بگیرید تا از صحت و یکپارچگی کل سیستم اطمینان حاصل کنید:
- لاگینها و کاربران: دیتابیس Master شامل لاگینهای سطح سرور است. اگر پس از بازیابی، تغییراتی در لاگینها، نقشهای سرور یا کاربران دیتابیسهای کاربر داشتهاید که در پشتیبان Master شما منعکس نشدهاند، باید آنها را مجدداً ایجاد یا بهروزرسانی کنید. ممکن است نیاز باشد
sp_change_users_loginرا برای همگامسازی کاربران دیتابیس با لاگینهای سرور اجرا کنید. - دیتابیسهای سیستمی دیگر: دیتابیسهای
msdbوmodelنیز ممکن است به بازیابی نیاز داشته باشند، به خصوص اگر در زمان پشتیبانگیری Master، تغییراتی در آنها ایجاد شده باشد (مانند تاریخچه بکاپها درmsdbیا قالب دیتابیسهای جدید درmodel). همیشه بهتر است از این دیتابیسها نیز به طور منظم پشتیبانگیری کنید. - پیکربندی سرور: تنظیمات سرور مانند حافظه، محدودیتهای CPU، و سایر گزینههای پیکربندی که پس از تهیه پشتیبان Master تغییر کردهاند، باید بررسی و در صورت نیاز مجدداً پیکربندی شوند.
- لینکد سرورها (Linked Servers): اگر از لینکد سرورها استفاده میکنید، پس از بازیابی Master، باید پیکربندی آنها را بررسی و تأیید کنید که به درستی کار میکنند.
- تأییدیه عملکرد: پس از بازیابی کامل، تمام دیتابیسهای کاربر را آنلاین کنید و صحت عملکرد برنامههای متصل به SQL Server را بررسی کنید تا از موفقیتآمیز بودن عملیات اطمینان حاصل شود.
Restore Master یک عملیات بحرانی است که نیازمند دقت و برنامهریزی قبلی است. با داشتن پشتیبانهای منظم و پیروی از این راهنما، میتوانید در مواجهه با مشکلات احتمالی، SQL Server خود را به سرعت و با اطمینان بازیابی کنید.