Mirror کردن پایگاه داده در SQL Server

دوشنبه 16 مرداد 1396

ما در این مقاله قصد داریم تا یکی از مباحث کاربری sqlserver به نام Mirroring پایگاه داده را به شما به صورت قدم به قدم آموزش بدهیم.

Mirror کردن پایگاه داده در SQL Server

مراحل و نکات Mirroring در  زیر به صورت گام به گام آمده است:

1)برای بالا بردن قابلیت دسترسی به سرورمان بعد از خوشه بندی (clustering ) ما عمل Mirroring را انجام میدهیم.

2)این گزینه بدون استفاده و ساخت هرگونه ثبت روابط ( Log shipping) یا هرگونه استفاده از Sql Agent شکست بسیار موثر در سطح پایگاه داده است.

3)این دوباره راه حلی برای log shipping به صورت آنی (real time) است.

هر تغییری که در سرور اصلی یا پایگاه داده انجام می شود ، تاثیر آن بر روی سرور یا دیتابیس mirror کپی می شود ، اما هیچ تأییدیه ای (acknowledgment) نسبت به موفقیت کپی در سرور Mirror نشان نمی دهد.هر بار که کاربر هر گونه تغییری در پایگاه داده (db) ایجاد می کند، آن تغییر بلافاصله در پایگاه داده نوشته نمی شود ، بلکه در فایل db_log buffer که در مکان خاصی در حافظه یا دیسک ذخیره می شود ، نوشته می شود.تغییرات از فایل log buffer به فایل Transaction log که با نام Hardening معروف است منعکس میشوند.

معمولا ما نیاز به پایگاه داده سرور برای Mirroring داریم

اما زمانیکه هر شکست اتوماتیک اتفاق افتاد ، بعد از آن ما نیاز به یک سرور داریم که سرور اصلی را مانیتور کند و سرور miror را در رابطه با شکست سرور اصلی یا down شدن سرور مطلع کند.

مراحل باز کردن Sql Server Management Studio:

1)Windows Start > All programs > Microsoft Sql Server 2008 > Sql Server management studio
2)با سه سرور ارتباط برقرار کنید

3)سرور اصلی ، آینه (Mirroring) و شاهد (Witness)

ابتدا ما به پراپرتی های پایگاه داده سرور اصلی می رویم (ما 3 گزینه را می بینیم که توضیح می دهد چگونه می توانیم عملکرد را افزایش بدهیم).

1)قدم اول بر روی database و گزینه Property را انتخاب کنید.

در اینجا شما صفحه ای را مشاهده میکنید که در آن گزینه هایی در حالت عملیاتی ذکر شده اند.

گزینه های ذکر شده به صورت زیر هستند:

1)High Performance Asynchronous

هر تغییری که در سرور Db اصلی ایجاد می شود در Log buffer سرور Db اصلی ذخیره می شود و همان کپی به Mirror db برای تغییرات می رود ، اما سرور اصلی منتظر تأییدیه در مورد تغییرات نیست ، در واقع همزمانی در داده نیست.این روش نگهداری داده دارای ریسک است.

2)(High safety without automatic failover (Synchronous

هر دو سرور (اصلی و آینه ) منتظر همگام سازی اند چون سرور اصلی منتظر تاییدیه (acknowledgment) در رابطه با تغییرات ایجاد شده در سرو Db آینه از طریق Log Buffer است.

3)High Safety with automatic failover

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

ما یک نسخه کامل پشتیبان از آن میگیریم و مسیر مقصد را به آن میدهیم.
برای بررسی اینکه نسخه پشتیبان کامل انجام شد ، بر روی گزینه های همین صفحه می رویم و بر روی Verify backup کلیک می کنیم و بعد از اتمام یک چک باکس برای اطمینان در زیر آن ظاهر میشود.

4)بعد از اتمام پشتیبان گیری یک صفحه پاپ آپ با پیام "پشتیبان از پایگاه داده" Test" با موفقیت به اتمام رسید" نمایش داده خواهد شد.

حالا قدم بعدی بازگرداندن پایگاه داده به سرور آینه است.

1)سپس پشتیبان را از محل مشخص شده از دستگاه ببرید و نام پایگاه داده را بدهید و روی گزینه Restore check کلیک کنید.
2)بر روی گزینه در همان صفحه کلیک کنید

نکته مهم

هنگام بازگرداندن پایگاه داده این نکته مهم است که ما باید آن را در حالت NO RECOVERY بازیابی کنیم.

3)پس از اتمام بازگردانی یک پنجره با پیام "بازگردانی پایگاه داده ‘Mirror test’ با موفقیت به اتمام رسید" ظاهر می شود.

حالا بازگردانی به اتمام رسید ، اجازه دهید mirroring را شروع کنیم.

بر روی پایگاه داده اصلی سرور کلیک راست کنید -> Properties > Mirroring > Configure Security

2)یک پنجره wizard برای شما باز خواهد شد بعد از باز شدن بر روی Next کلیک کنید این پیام ظاهر می شود:
"آیا میخواهید که امنیت مربوط به قرار دادن نمونه سرور شاهد را تنظیم کنید" بر روی Yes کلیک کنید.
3)بر روی Next کلیک کنید.
4)بر روی Next کلیک کنید.(نمونه سرور اصلی)
5)بر روی Next کلیک کنید(نمونه سرور آینه)بر روی Connect کلیک کنید و تنظیمات آن را انجام دهید.
6)بر روی Next کلیک کنید(نمونه سرور شاهد)بر روی Connect کلیک کنید و تنظیمات آن را انجام دهید.
7)بر روی Next کلیک کنید-آن ها در رابطه با سرویس اکانت برای سرور اصلی ، آینه و شاهد سوال میپرسند ولی ما هیچ نامی نمیدهیم چون ما از نمونه های پیش فرض استفاده می کنیم.
8)بر روی Next کلیک کنید تا تمام شود.

برنامه نویسان

نویسنده 3355 مقاله در برنامه نویسان

کاربرانی که از نویسنده این مقاله تشکر کرده اند

در صورتی که در رابطه با این مقاله سوالی دارید، در تاپیک های انجمن مطرح کنید