PDA

View Full Version : ارتباط دو بانک اطلاعاتی SQL 2000



specialim
شنبه 22 آبان 1389, 12:21 عصر
با عرض سلام خدمت اساتید و دوستان محترم .
من یک نرم افزار برای یک اداره اماده کردم که دارای یک بانک SQL 2000 می باشد . که این بانک باید توسط یک بانک دیگر در همان سازمان بروز رسانی شود .
چند مشکل وجود دارد .
1 - اینکه حجم بانک مادر 14 GB می باشد
2 - من فقط 5 تیبل بانک مادر را لازم دارم زیرا تعداد table ها در بانک مادر حدود 56 تا می باشد .
3 - در همین 5 table هم تعداد زیادی فیلد وجود دارد که من در بانک خودم نیازی به تمام این فیلدها ندارم . بنا براین فقط فیلدهای مورد نیازم را در بانک خودم تعریف کردم .
4 - در هر یک از این 5 ، tabel ممکن است در هر لحظه تغییری ایجاد شود که باید حداکثر در 24 ساعت در بانک مقصد اعمال گردد .

* لازم به ذکر است که ارتباط یکطرفه میباشد و از سوی بانک مادر به سمت بانک خودم میباشد .
خواهشمندم در صورت امکان راهنمایی نمایید . ممنون :چشمک:

Rezahak
شنبه 22 آبان 1389, 12:26 عصر
سلام
راه حل اين مسئله استفاده ار synonyms مي باشد . البته مطمئن نيستم كه در sql 2000 وجود دارد يا خير؟؟؟
ولي در sql 2005 قطعا هست

specialim
شنبه 22 آبان 1389, 12:30 عصر
با تشکر از شما .
راستش از آنجایی که فقط استفاده کننده SQL هستم و از تنظیماتش اطلاعاتی ندارم نمی دانم synonyms چیست . بهر حال از توجه شما متشکرم

specialim
یک شنبه 23 آبان 1389, 12:41 عصر
آیا با استفاده از فن آوری Replication میتوان به این امر رسید ؟

حمیدرضاصادقیان
یک شنبه 23 آبان 1389, 13:45 عصر
سلام
راه حل اين مسئله استفاده ار synonyms مي باشد . البته مطمئن نيستم كه در sql 2000 وجود دارد يا خير؟؟؟
ولي در sql 2005 قطعا هست

سلام.
@Rezahak : دوست عزیز چه ارتباطی بین synonyms و ارتباط بین دو سرور Sql هست؟؟؟؟
Synonyms در نسخه 2005 به بالا هست و برای کوتاه کردن اسامی هست. که مثلا به جای نام سرور. نام شی ، نام owner از یک synonyms استفاده کنید که کوتاه بشه و هیچ ارتباطی بین این و مرتبط کردن دو سرور وجود نداره..


@specialim: شما برای اینکار چند گزینه پیش رو دارید. یکی اینکه یک تریگر روی اون چند جداول بنویسید و هروقت تغییری ایجاد شده داخل یک جدول ذخیره کرده و اونو به کامپیوتر خودتون منتقل کنید.
یا از Replication استفاده کنید. ولی من فکر میکنم برای راه شما گزینه اول مناسبتر باشه چون پیاده سازیش از Replication ساده تر هست.

موفق باشید

Rezahak
یک شنبه 23 آبان 1389, 17:12 عصر
سلام.
@Rezahak : دوست عزیز چه ارتباطی بین synonyms و ارتباط بین دو سرور Sql هست؟؟؟؟
موفق باشید

ربط كه دارد وقتي يك synonym جديد ايجاد مي شود مي توان يك object را از يك database ديگر انتخاب نمود و وارد يك database ديگر نمود به طوري كه به اصل و اساس آن خللي وارد نشود . طبق توضيحات دوستمون ساختار بسيار بزرگي بر روي يك database ديگر وجود دارد پس با توجه به بزرگ بودن آن (حدودا 14GB) استفاده از replication مقرون به صرفه نمي باشد

حمیدرضاصادقیان
یک شنبه 23 آبان 1389, 17:27 عصر
سلام.عملا Object رو وارد دیتابیس دیگه ای نمیکنه. تنها کاری که میکنه مانند یک Shortcut در اون دیتابیس برای شما میسازه که شما بتونید با شی مورد نظر ارتباط برقرار کنید. ولی در اصل اون شی رو در دیتابیس شما ایجاد نخواهد کرد.

Rezahak
یک شنبه 23 آبان 1389, 17:39 عصر
سلام.عملا Object رو وارد دیتابیس دیگه ای نمیکنه. تنها کاری که میکنه مانند یک Shortcut در اون دیتابیس برای شما میسازه که شما بتونید با شی مورد نظر ارتباط برقرار کنید. ولی در اصل اون شی رو در دیتابیس شما ایجاد نخواهد کرد.

فكر مي كنم از replication براي يك همچين database ي كه مد نظر دوستمون است مقرون به صرفه تره !!! نظر شما چيه؟؟؟؟

البته بانك اين دوستمون برروي sql2000 هست كه شما فرموديد اين object را ندارد

حمیدرضاصادقیان
یک شنبه 23 آبان 1389, 17:59 عصر
سلام. در 2000 من یک راه ساده تر پیشنهاد دادم که خودشون روی جداول مورد نظر تریگر بنویسند و دیتاها رو در یک جدول دیگه اضافه کنند و اونو استفاده کنند. چون اگر بخواهیم وارد بحث backup بشیم از کل دیتابیس backup میگیره که این بدرد نمیخوره.

specialim
یک شنبه 23 آبان 1389, 18:02 عصر
باتشکر از جناب آقای حمیدرضاصادقیان (http://barnamenevis.org/forum/member.php?u=4504)
باید عرض کنم که بانک اطلاعاتی اصلی که نرم افزارش توسط من نوشته نشده است حدود 15GB می باشد . آیا بنا به فرمایش شما می توانم با استفاده از تریگر به منظور اصلی برسم ؟ از طرفی اگر امکان دارد توضیحاتی در رابطه با ایجاد تریگر بدهید .
با تشکر .

specialim
یک شنبه 23 آبان 1389, 18:06 عصر
از طرفی باید عرض کنم به هیچ عنوان من اجازه تغییر ساختار در بانک مادر ( بانک اصلی ) را ندارم