ورود

View Full Version : مشکل FK و Relation در Replication



مجید_جنگی
پنج شنبه 25 اسفند 1384, 09:53 صبح
با عرض سلام و خسته نباشید خدمت همه دوستان به خصوص جناب مهندس مهدوی استاد و دوست قدیمی بنده. (البته اگه یادشون بیاد)
من در Merg Replication مشکلی دارم. آن هم اینکه هنگامیکه می خواد در سرور مقصد Table را حذف کند اعلام می کند چون این Table موردنظر Refrence یک سری Table دیگر است نمی تواند آن را Drop کند. با فرمان Alter Table Drop Constraint FK مشکل حل گردید ولی حال مشکل Viewها را دارم باز پیغام Can not Drop Table ... Because it is being reerenced by object vw.. هنوز نتوانستم این قضیه را حل کنم. متاسفانه عجله بسیار زیادی هم دارم چون از طرف مدیریت عامل در فشار هستم که تا انتهای سال این کار انجام گردد. البته حدس می زنم برای Store Procedure ها نیز این مشکل پیش آید. بسیار عجله دارم و منتظرم.
با تشکر از همه کسانی که در توزیع علم منتی ندارند.

AminSobati
پنج شنبه 25 اسفند 1384, 13:11 عصر
دوست عزیزم،
این طبیعیه که برای حذف یک جدول، باید بعضی وابستگیها رو هم حذف کرد. برای دیدن اینکه این جدول با چه Objectهای دیگه ای در ارتباطه میتونین از sp_depends استفاده کنین. ولی احتمالا برای SPها مشکلی نخواهید داشت

مجید_جنگی
پنج شنبه 25 اسفند 1384, 13:32 عصر
جناب آقای ثابتی. باتشکر. اما من تمام View ها را هم حذف کردم باز هم این مشکل بود شاید برخی جداول جهت ایجاد باز هم به View ها Dependency دارند. نمیشه کاری کرد که هیچ Constrantی در کل دیتابیس چک نشه نه در جداول و نه در Viewها؟ لطفا من را راهنمایی فرمایید.
در ضمن مشکل من بزرگ بودن دیتابیس است. چرا که حدودا 750 جدول دارم.

AminSobati
پنج شنبه 25 اسفند 1384, 22:29 عصر
عزیزم Constraint به View ارتباطی نداره...
شما میتونین Replication رو بدون حذف جداول مقصد هم راه اندازی کنید. وقتی جداول (Article) رو انتخاب میکنید، در تنظیمش مشخص کنید که جدول در مقصد حذف نشه (به شرط اینکه ساختارش با مبدا یکی باشه). شاید این مشکل رو حل کنه. ولی در کل فکر نمیکنم پیدا کردن Dependency اونقدر سخت باشه که نشه یک جدول رو حذف کرد!
بزرگ بودن دیتابیس، مانعی برای هدف شما نیست.

مجید_جنگی
شنبه 27 اسفند 1384, 10:58 صبح
جناب ثابتی در Article کدام گزینه را باید تیک بزنیم؟ منظور شما Drop All Data ... می باشد یا خیر چون من آن ها را هم چک کردم ولی باز هم جدول را Drop می کند. الان مشکل من این است. می توانم FK های جداول را حذف کنم ولی هنگام Drop کردن یک جدول باز می گوید به فلان View ارجاع دارد.
در مورد Dependency اینکه ما 750 جدول و حدودا 600 Veiw داریم که اینها بصورت تو در تو به یکدیگر Dependency دارند واقعا حذف برخی Dependencyها بصورت Manual امکان پذیر نیست. لطفا راهنمایی بفرمایید.

AminSobati
شنبه 27 اسفند 1384, 20:29 عصر
در مورد زیاد بودن تعداد جداول و وابستگیها، کاری از دست من ساخته نیست، به هر حال این دیتابیس شماست..
در مورد هر Article، زمانیکه مثلا یک جدول رو انتخاب میکنید، یک کلید با سه نقطه کنار اون ظاهر میشه. تنظیمات لازم در اون قسمت قرار داره.

AminSobati
شنبه 27 اسفند 1384, 20:31 عصر
ضمنا آقای جنگی گل! ثباتی <> ثابتی!

مجید_جنگی
یک شنبه 28 اسفند 1384, 09:32 صبح
سلام. با عرض معذرت آقای ثباتی
1- من می دانم کجای Article ها آن گزینه ها می باشد. ولی هر کدام را که می زنم باز هم جدول اول را پاک می کند. این موجب تعجب است. با توجه به تجربه شما کدام گزینه را باید بزنم؟
Keep the existing table unchanged
DROP the existing table and re-create it
Delete Data in the existing table that matches the rows filter statement
Delete all data in the existing table
2- به نظر شما با SQL Server 2005 مشکل حل است؟ و آیا اصلا می شود از Sql Server2000 به Sql Server 2005 عمل Replication را انجام داد؟

AminSobati
یک شنبه 28 اسفند 1384, 12:49 عصر
سلام عزیزم،
من جای شما باشم آیتم چهارم رو Try میکنم.
در مورد 2005 یا 2000، این مشکل ارتباطی با Version نداره الزاما. مشکل شما به ساختار بانک اطلاعاتی برمیگرده. این ساختار و وابستگیها در 2005 هم وجود داره طبیعتا.