ورود

View Full Version : مناسبترین راه حل برای mirroring



al_bozorgi
پنج شنبه 15 مهر 1389, 11:29 صبح
سریع میرم سر اصل مطلب

2 عدد سرور داریم یکی داخل ایران و یکی هم خارج از ایران که پینگ تایم سرور خارجی حول 180 میلی ثانیه است که روی هر 2 سرور یک بانک اطلاعاتی SQL هست

از Sql Server 2008 استفاده میکنم


میخواهم بانک اطلاعاتی سرور خارجی و داخلی رو Mirror یا replication با این شرایط

1- نوع ارتباط 2 طرفه باشه یعنی اگر تغییراتی روی بانک دوم بوجود آمد اونو روی بانک اول اعمال کنه و بلعکس

2- حجم اطلاعاتی کمتری جابجا بشود بطوریکه پهنای باند کم نیاره

3- تغییرات به صورت آنی روی بانکها اعمال شود نه به صورت بازه زمانی

4- در صورت از کار افتادن یکی از سرورها مثلا برای 1 ساعت بعد از برگشت به حالت عادی تغییراتی که توی سرور دیگه طی این مدت قطعی اتفاق افتاده اعمل شود یعنی تغییرات توی یک صف بمانند تا زمانی که سرور به حالت عادی بازگشت

حالا با توجه به شرایط من چه نوع Mirror یا Replication ی توصیه میکنید.

با تشکر

al_bozorgi
جمعه 16 مهر 1389, 22:51 عصر
یعنی کسی نمیتونه کمکم کنه؟

saeed.samiee
یک شنبه 18 مهر 1389, 12:36 عصر
سلام دوست عزيز
كار شما با Replication نوع merge انجام ميشود . من براي چند تيبل بانك اطلاعاتي Replication از نوع merge استفاده كردم . البته از فيلد كليد جهاني GUID استفاده شد و مشكلات خاص خودش را ايجاد كرد.كه هنوز هم همه مشكلاتش حل نشده مثلا اگر يك Subscriber merge چند ماه سينكرونايز نشود بدون هيچ دليلي خراب ميشود و يا من نمي دانم درصورت بازيابي اطلاعات ديتابيس اصلي چه اتفاقي مي افتد

به نظرم بدون داشتن اطلاعات كافي از برنامه كاربردي پروژه و ديتا بيس پروژه امكان چنين كاري وجود ندارد

ضمنا شما ننوشته ايد پرو‍ژه چقدر تحت نظر شماست
mirroring بيشتر براي تداوم پذيري بالا است.
سعيد سميعي

حمیدرضاصادقیان
دوشنبه 19 مهر 1389, 10:07 صبح
سلام.البته اگر بخواهید به صورت آنلاین روی چند سرور شما بنویسید اینجا باید از Clustring استفاده کنید.
که در اینصورت به صورت همزمان روی چند سرور نوشته میشه.ولی اگر بخواهید با بازه زمانی حتی مثلا 1 -2 دقیقه اختلاف دیتا روی سرور نوشته بشه میتونید از LOG Shipping استفاده کنید که در این روش از دیتابیس شما log backup گرفته شده و در حجمهای خیلی کم مثل 200-300 کیلوبایت به سرور ارسال شده و در اونجا توسط job که تعریف شده روی دیتابیس MIRROR شما بازیابی خواهد شد. و به محض اینکه سرور اصلی شما از کار افتاد شما فقط تنها کاری که باید بکنید که این سرور mirror رو توی مدار قرار بدید. ولی در بحث clustring دیگه نیازی نیست شما سروری رو در مدار قرار بدید به محض از کار افتادن سرور ، سرور دوم جایگزین ان خواهد شد و خرابی سرور اول نیز به اطلاع مدیر شبکه خواهد رسید.
پیاده سازی CLustring مقداری پیچیده است ولی برای log shipping خیلی راحته.
موفق باشید