PDA

View Full Version : ساختار ناپایدار Replication?



AlirezaBahredar
چهارشنبه 19 اسفند 1388, 11:29 صبح
با سلام به همه دوستان:
در یک پروژه چندین سرور بر اساس Transactional Replication با هم Replicate هستند.
Article های موجود در این Replicate به شرح زیر می باشند:
1-Table
2-Stored Procedure
3-User Functions

حالا سوال من اینست که آیا با تغییر در نام یا ساختار هر کدام از Article های ذکر شده بایستی Database سمت Subscriber ها را از بین برد و دوباره Snapshot گرفت؟!!!!!!!!!!
چون دقیقا ما با همچین مشکلی مواجه هستیم. بمحض کوچکترین تغییر در ساختار Article های ما Replication دچار مشکل می شود و Fail می شود.
ممنون میشم از دوستان راهنمایی کنند (به ویژه استاد ثباتی)

AminSobati
چهارشنبه 19 اسفند 1388, 22:50 عصر
سلام دوست عزیزم،
انجام Replication وابستگی زیادی به ساختار جداول داره. حتی اضافه یا حذف کردن فیلد باید با ملاحظات خاص انجام بشه. از نسخه 2005 به لطف وجود DDL Trigger اعمال بعضی تغییرات راحت تر شد. سایر تغییرات بستگی به نوعش داره، مثلا اضافه کردن Article دوباره Snapshot تولید میکنه اما تمامش رو نیاز نیست مجددا ارسال کنه. در بعضی شرایط، ما ناچاریم Articleها رو به دسته های کوچکتر تقسیم کنیم و Publicationهای متعدد بسازیم تا در صورت نیاز به ارسال کامل Snapshot، حجم کمتری ارسال بشه. اما این هم در تمام حالتها میسر نیست چون Relation بین جدوال ممکنه دست ما رو ببنده.
در کل باید بگم اگر دیتابیس به وضعیت Stable یا پایدار نرسیده باشه، Replication مشکله.

AlirezaBahredar
پنج شنبه 20 اسفند 1388, 10:14 صبح
با سلام و تشکر از راهنماییتون.
DDL Trigger حوزه فعالیتشون مربوط به کدام نوع Article ها می شه؟
?Table
SP
به عبارت دیگه آیا ما می توانیم Table یا SP ها را تغییر نام و یا تغییر ساختار بدیم؟
و آیا می توان Table جدید یا SP جدیدی بدون گرفتن Snapshot به ساختار Replication اضافه شود؟
مجددا از حسن توجه شما ممنون.

AminSobati
شنبه 22 اسفند 1388, 01:56 صبح
سلام،
تغییر ساختار همونطور که عرض کردم باید با ملاحظاتی انجام بشه و در کل خیلی دستمون باز نیست در Replication. برای جزئیات دقیقتر، این لینک رو در Books Online نسخه 2008 مطالعه کنید:

ms-help://MS.SQLCC.v10/MS.SQLSVR.v10.en/s10rp_1devconc/html/926c88d7-a844-402f-bcb9-db49e5013b69.htm