در توسینسو تدریس کنید

و

با دانش خود درآمد کسب کنید

آموزش راه اندازی Transactional Replication در SQL سرور قسمت 2

در قسمت اول مقاله ی پیاده سازی Transactional replication یک سناریو طرح کرده و به صورت قدم به قدم به اجرای آن پرداختیم در ابتدا پیکربندی Distribution را انجام دادیم و سپس تنظیمات مربوط به ایجاد یک publication را پیاده سازی کردیم. بدین ترتیب توزیع کننده و ناشر مشخص شده در سناریو ایجاد شدند. حال در این قسمت به پیکربندی و انجام تنظیمات برای مشترکین یا Subscriber ها می پردازیم .

پیکربندی بخش اشتراک یا Subscription

همانطور که قبلا گفتیم در اینجا هر سه سرور موجود در سناریو را از طریق کنسول Management Studio مدیریت می کنیم. در سرور دوم (ITPRO2) یا همان سرور مستقر در اهواز، روی Local Subscription زیر مجموعه ی Replication این سرور در کنسول مدیریتی راست کلیک کرده و گزینه ی New Subscription را برای مشاهده ی ویزارد مربوطه انتخاب می کنیم.

آموزش راه اندازی Transactional Replication در SQL سرور قسمت 2

در این تصویر همانطور که نشان داده شده است باید سرور publisher و یا نشریه ای را که می خواهیم Subscription ها را برای آن ایجاد کرده، تعیین کنیم. پس در پنجره ی publisher از قسمت نوار کشویی گزینه ی Find SQL Server Publisher را باز کرده و پس از انتخاب سرور مورد نظر (در اینجا ITPRO1) نام publication ایجاد شده در قسمت قبلی نمایان خواهد شد.

آموزش راه اندازی Transactional Replication در SQL سرور قسمت 2

در این بخش باید محلی که Distribution Agent ها روی آن اجرا می شوند را مشخص کنیم . برای این منظور دو گزینه پیش روی ماست : اجرای همه ی Agent ها روی Distributor یا Push subscription و اجرای هر Agent روی subscriber خود یا Pull subscription .در مقاله مفاهیم replication به توضیح pull\Push Subscription ها پرداختیم بر حسب شرایط می توان یکی از این دو نوع را برای Agent ها در نظر گرفت. در قسمت قبل ما یک مسیر لوکال را برای دسترسی به پوشه ی Snapshot ها تعیین کردیم و می دانیم آدرس لوکال Pull Subscription را پشتیبانی نمی کند، بنابراین در اینجا گزینه ی اول یعنی Push Subscription را انتخاب می کنیم.

آموزش راه اندازی Transactional Replication در SQL سرور قسمت 2

در این قسمت باید subscriber ها یا مشترکین و دیتابیس آنها را مشخص کنیم. به صورت پیش فرض ویزارد سروری را که تنظیمات در حال حاضر روی آن صورت می گیرد به عنوان یکی از مشترکین انتخاب می کند. با کلیک روی گزینه ی Add SQL Server Subscriber می توانیم سرورهای دیگری را به عنوان مشخص کنیم. در سناریو ما دو Subscriber وجود دارد: سرور های ITPRO2 در اهواز و ITPRO3 در شیراز. پس از انتخاب این سرور ها حال نوبت به تعیین دیتابیسی که قرار است عمل Replicate با آنها صورت گیرد، می باشد.بدین منظور با کلیک روی نوار کشویی مقابل سرورهای انتخابی، دیتابیس مورد نظر را برمی گزینیم. اگر دیتابیسی را روی سرور برای Replication در نظر نگرفته باشیم، با توجه به تصویر دوم و کلیک روی گزینه ی New Data base نیز می توان دیتابیس مورد نظر را در لحظه ایجاد کرد.

آموزش راه اندازی Transactional Replication در SQL سرور قسمت 2

آموزش راه اندازی Transactional Replication در SQL سرور قسمت 2

در اینجا باید آپشن های مرتبط با ارتباطات و پردازش ها را برای Distribution Agent مشخص کنیم.برای تعیین حساب کاربری که Distribution Agent تحت آن اجرا شده و عمل همگام سازی با مشترکین را انجام خواهد داد گزینه ی Run the SQL Server Agent Service Account را مارکدار کرده و برای برقراری ارتباط با Distributor و Subscriber نیز گزینه ی By impersonation the process account را بر می گزینیم. این تنظیمات باید برای هر دو سرور انتخاب شده به عنوان Subscriber، به صورت مجزا انجام شود.

آموزش راه اندازی Transactional Replication در SQL سرور قسمت 2

پس از انجام تنظیمات بالا نتیجه ی آن همانند تصویر زیر در ویزارد نمایش داده می شود.

آموزش راه اندازی Transactional Replication در SQL سرور قسمت 2

در این مرحله باید برنامه ی زمانبندی همگام سازی را برای هر Agent مشخص کنیم. منوی کشویی در اینجا سه گزینه در اختیار ما قرار می دهد که بواسطه ی آنها Distribution agent به ترتیب می تواند در حالت اجرا به صورت مداوم، اجرا بر برحسب تقاضا و یا اجرا براساس برنامه ی زمانبندی تعیین شده، قرار گیرد. پس از اطمینان از قرار گرفتن agent در وضعیت Run continuously روی Next کلیک می کنیم.

آموزش راه اندازی Transactional Replication در SQL سرور قسمت 2

نحوه ی مقداردهی اولیه هر اشتراک بواسطه ی یک Snapshot از داده ها و طرح های Publication یا نشریه در این قسمت مشخص می شود. دو روش برای مقداردهی اولیه ی Subscription ها وجود دارد: به صورت فوری و در اولین همگام سازی یا Synchronization. از منوی کشویی موجود گزینه ی Immediately یا بلافاصله را برای هر دو سرور موجود انتخاب کرده و روی Next کلیک می کنیم.

آموزش راه اندازی Transactional Replication در SQL سرور قسمت 2

در این قسمت می توانیم تعیین کنیم که تنها Subscription ایجاد شده و یا فایل اسکریپت پیکربندی Subscription نیز ایجاد شود. در این بخش گزینه ی اول را انتخاب می کنیم.

آموزش راه اندازی Transactional Replication در SQL سرور قسمت 2

در این تصویر خلاصه ای از تنظیماتی که برای ایجاد Subscription ها انجام دادیم نمایش داده شده است.

آموزش راه اندازی Transactional Replication در SQL سرور قسمت 2

با کلیک روی گزینه ی Finish در مرحله قبل فرایند ایجاد subscription ها آغاز خواهد شد و در نهایت با نمایش عبارت success در قسمت Status، انجام موفقیت آمیز تنظیمات را مشاهده خواهیم کرد.

آموزش راه اندازی Transactional Replication در SQL سرور قسمت 2

به این ترتیب مراحل پیاده سازی Transactional Replication پایان می یابد و شرایط برای replicate اطلاعات میان SQL سرور ها مهیا می شود. بنابراین هر گونه تغییرایجاد شده در جدول کاربران برتر که روی دیتابیس THR.ITPro در SQL سرور ITPRO1 قرار دارد، به جدوال موجود در دیتابیس های AWZ.ITPro روی سرور ITPRO2 ودیتابیس SYZ.ITPro روی سرور ITPRO3 نیز اعمال خواهد شد.امیدوارم این مقاله مورد توجه شما دوستان قرار گیرد...

نویسنده : مریم حیات رمضانی

منبع : جزیره بانک های اطلاعاتی وب سایت توسینسو

هرگونه نشر و کپی برداری بدون ذکر منبع و نام نویسنده دارای اشکال اخلاقی می باشد

#آموزش_نصب_transactional_replication #پیاده_سازی_transactional_replication #پیکربندی_subscription
عنوان
1 انواع Replication در SQL سرور : آشنایی با مفاهیم و راه اندازی رایگان
2 آموزش راه اندازی Transactional Replication در SQL سرور قسمت 1 رایگان
3 آموزش راه اندازی Transactional Replication در SQL سرور قسمت 2 رایگان
زمان و قیمت کل 0″ 0
5 نظر
سامان چالیان

با سلام و تشکر بابت مطلب مفیدی که به اشتراک گذاشتید.

ممکنه در مورد تنظیمات سرور subscriber توضیحات بیشتری بدید؟ من در پیدار کردن سرور publisher در ویزارد سرور subscriber با مشکل مواجه شدم. سرور publisher من در عسلویه هستش و سرور subscriber در تهران. هر دو سرور در دو دامین مختلف هستند که بین همدیگه trust شده اند. از sql management تهران میتونم به سرور دیر وصل بشم و همه ی داده ها رو ببینم ولی ور مرحله پیدا کردن publisher با پیغام خطا مواجه میشم. ممنون میشم کمکم کنید.

amirshirazim

این توسط amirshirazim در تاریخ چهارشنبه, 27 آبان 1394 حذف شده است.

Reason: حل مشکل

سلام من تمام مراحلی که فرمودید را دقیقا مطابق تصویر ها انجام دادم و تمام مراحل بدون خطا انجام شد، اما بعد از insert کردن در هر کدام از دیتابیس ها هیچگونه اتفاقی نمیوفته!

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

لطفا راهنمایی نمایید.

amirshirazim

سلام مشکلم حل شد، فقط یک سوال زمانی که تغییراتی در بانک اطلاعاتی publisher انجام میشه در subscriber هم اعمال میشه، اما برعکسش اعمال نمیشه یعنی رکورد جدید که در بانک اطلاعاتی subscriber ذخیره میشه در بانک اطلاعاتی publisher اضافه نمیشه.

به نظرتون باید از Merge Replication استفاده کنم یا در همین transactional Replication تغییراتی باید اعمال کنم؟

mohanoor

مقاله ای که گذاشتین بسیار عالی و کارامد بود ممنون

یک سوال

می توان فیلتر رو سمت Subscriber تعیین کرد؟

مشترکین من طبق شرایطی می توانند اطلاعات را دریافت کنند

می خواهم سمت کلاینت و با کوئری where رو تعیین کنم

آیا امکانش هست؟

مسلم هادی

سلام. هر تغییری روی سرور 1 رخ بده، بصورت آنی روی سرورهای دیگه هم ثبت میشه؟؟

آخه من همه مراحل رو رفتم؛ ولی وقتی توی جدول مورد نظر روی سرور 1 رکورد جدید ایجاد میکنم، توی سرور 2 نمیاد.

نظر شما
برای ارسال نظر باید وارد شوید.
از سرتاسر توسینسو
تنظیمات حریم خصوصی
تائید صرفنظر
×

تو می تونی بهترین نتیجه رو تضمینی با بهترین های ایران بدست بیاری ، پس مقایسه کن و بعد خرید کن : فقط توی جشنواره پاییزه می تونی امروز ارزونتر از فردا خرید کنی ....