امتیاز موضوع:
  • 0 رأی - میانگین امتیازات: 0
  • 1
  • 2
  • 3
  • 4
  • 5
خواندن از دو دیتابیس روی سرور های مجزا!
نویسنده پیام
Ghoghnus آفلاین
مدیر بخش
*****

ارسال‌ها: 1,497
موضوع‌ها: 270
تاریخ عضویت: آذر ۱۳۸۸

تشکرها : 1652
( 3938 تشکر در 1453 ارسال )
ارسال: #1
خواندن از دو دیتابیس روی سرور های مجزا!
سلام دوستان
یه وب سایتی دارم ک قرار دیتابیسش روی دوتا سرور باشه!یعنی نسبت به زوج و فرد بودن شماره ملی افراد دیتا روی بانک ها جدا ذخیره بشه!یعنی اگر زوج بود جدول روی سرور A در غیر اینصورت جدول روی سرور B!
ذخیر کردن مشکلی نداره ولی برای خوندن از بانک چطور باید انجام بدم ک معلوم نشه ازروی دوتا بانک داره خونده میشن!


ممنون!

[تصویر:  a.jpg]

باور کنیم
همانگونه که در غیبت مقصریم در ظهور موثریم!
نیستیم؟

زیر شمشیر غمش رقص کنان باید رفت #  کان که شد کُشته ی او نیک سرانجام افتاد



 چشمک - بهینه شده برای ورژن جدید دانلود پروژه برنامه نويسي
۱۳-آبان-۱۳۹۱, ۱۸:۴۲:۲۱
وب سایت ارسال‌ها
پاسخ
Di Di آفلاین
مدير بخش هك و كرك
*****

ارسال‌ها: 2,358
موضوع‌ها: 116
تاریخ عضویت: اسفند ۱۳۸۵

تشکرها : 1816
( 4046 تشکر در 1321 ارسال )
ارسال: #2
RE: خواندن از دو دیتابیس روی سرور های مجزا!
خيلي متوجه مشكلت نشدم؟ يكي از سرورهات رو بايد بكني سرور مادر،‌و داخلش يك تيبل ايجاد كني كه داخلش به نحوي

مشخص كني اطلاعات روي سرور شماره يك هست يا دو

يا اينكه اول شرور شماره 1 رو بگردي و اگر پيدا نكردي سرور شماره 2 و اگر پيدا نكردي كلا ثبت نشده

يا اينكه بگي اصلا چرا داري اين كار رو مي كني بابا جان يعني چي سرور رو زوج و فرد كردي آخه! ;)

۱۴-آبان-۱۳۹۱, ۱۱:۰۵:۱۶
وب سایت ارسال‌ها
پاسخ
Ghoghnus آفلاین
مدیر بخش
*****

ارسال‌ها: 1,497
موضوع‌ها: 270
تاریخ عضویت: آذر ۱۳۸۸

تشکرها : 1652
( 3938 تشکر در 1453 ارسال )
ارسال: #3
RE: خواندن از دو دیتابیس روی سرور های مجزا!
(۱۴-آبان-۱۳۹۱, ۱۱:۰۵:۱۶)Di Di نوشته است: خيلي متوجه مشكلت نشدم؟ يكي از سرورهات رو بايد بكني سرور مادر،‌و داخلش يك تيبل ايجاد كني كه داخلش به نحوي

مشخص كني اطلاعات روي سرور شماره يك هست يا دو

يا اينكه اول شرور شماره 1 رو بگردي و اگر پيدا نكردي سرور شماره 2 و اگر پيدا نكردي كلا ثبت نشده

يا اينكه بگي اصلا چرا داري اين كار رو مي كني بابا جان يعني چي سرور رو زوج و فرد كردي آخه! ;)

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

[تصویر:  a.jpg]

باور کنیم
همانگونه که در غیبت مقصریم در ظهور موثریم!
نیستیم؟

زیر شمشیر غمش رقص کنان باید رفت #  کان که شد کُشته ی او نیک سرانجام افتاد



 چشمک - بهینه شده برای ورژن جدید دانلود پروژه برنامه نويسي
۱۴-آبان-۱۳۹۱, ۲۲:۴۷:۲۷
وب سایت ارسال‌ها
پاسخ
lord_viper غایب
مدیر کل انجمن
*****

ارسال‌ها: 3,949
موضوع‌ها: 352
تاریخ عضویت: بهمن ۱۳۸۴

تشکرها : 5193
( 9875 تشکر در 2650 ارسال )
ارسال: #4
RE: خواندن از دو دیتابیس روی سرور های مجزا!
شما میتونین از sp_addlinkedserver برای شناسوندن سرور دومی به اولی استفاده کنید و در کوئری هاتون به صورت زیر عمل کنید

کد:
SELECT *
FROM server1table
    INNER JOIN server2.database.dbo.server2table ON .....
لینک زیر هم میتونه کمکتون کنه

کد:
http://technet.microsoft.com/en-us/library/ms190479.aspx

[تصویر:  xshon.png]
از آن نماز که خود هیچ از آن نمی فهمی خدا چه فایده و بهره اکتساب کند
تفاخری نبود مر خدای عالم را که چون تو ابلهی او را خدا حساب کند
۱۵-آبان-۱۳۹۱, ۰۹:۴۴:۱۲
وب سایت ارسال‌ها
پاسخ
تشکر شده توسط : Ghoghnus
Ghoghnus آفلاین
مدیر بخش
*****

ارسال‌ها: 1,497
موضوع‌ها: 270
تاریخ عضویت: آذر ۱۳۸۸

تشکرها : 1652
( 3938 تشکر در 1453 ارسال )
ارسال: #5
RE: خواندن از دو دیتابیس روی سرور های مجزا!
سلام یکی از دوستان گفتن با این دستور این کار را انجام بدم ولی نمیشه!یعنی نتیجه دیتابیس دوم را نگه میداره فقط میشه راهنمایی کنید لطفا؟
کد:
DataTable dt = new DataTable();
            SqlDataAdapter da = new SqlDataAdapter(q, SqlWorker.con1);
            da.Fill(dt);
            da = new SqlDataAdapter(q, SqlWorker.con2);
            da.Fill(dt);
            
            return dt;
با تشکر

[تصویر:  a.jpg]

باور کنیم
همانگونه که در غیبت مقصریم در ظهور موثریم!
نیستیم؟

زیر شمشیر غمش رقص کنان باید رفت #  کان که شد کُشته ی او نیک سرانجام افتاد



 چشمک - بهینه شده برای ورژن جدید دانلود پروژه برنامه نويسي
۱۹-آذر-۱۳۹۱, ۲۳:۱۴:۴۰
وب سایت ارسال‌ها
پاسخ
hamed_Arfaee آفلاین
مدیر بخش
*****

ارسال‌ها: 1,334
موضوع‌ها: 231
تاریخ عضویت: تير ۱۳۸۳

تشکرها : 1250
( 2634 تشکر در 730 ارسال )
ارسال: #6
RE: خواندن از دو دیتابیس روی سرور های مجزا!
سلام

نمیدونم این بدردتون میخوره یا نه
اس کیو ال سرور این قدرت رو داره که اطلاعات رو تو چند فایل ذخیره کنه .
یعنی برای دیتابیستون 3 تا فایل میسازین فایل اصلی -فایل دوم و فایل لاگ
[تصویر:  Create_SQL_Database_SCR1.PNG]
حالا میتونیم به سرور بگیم مثلا وقتی فلان فیلد فلان جدول بزرگتر از فلان مقدار بود در فایل اصلی ثبت کن و در غیر اینصورت در فایل دوم در این حالت اطلاعات ما بصورت فیزیکی در دو تا فایل ذخیره میشن که هر فایلی میتونه در هارد جدا باشه ولی وقتی از اطلاعات این جدول استفاده میکنیم اصلا متوجه این عملیات نمیشیم چون مدیریتش با خود سرور هست .

این کار اسمش هست table partition

ولی اگه فقط هدف حل همین مسئله باشه و باید دیتابیس دو تا باشه میشه همچین کاری هم کرد :
دو حالت در نظر میگیرم :
دو تا دیتابیس روی دو تا سرور مجزا داریم که یکیش رو میگیم سرور1 و اونیکی سرور2
این همون حالتی هست که دوستمون لرد گفته
دو تا جدول داریم رو هر دیتابیس با اسم tbl_Clone
حالا میخواهییم عملیات رو روی سرور1 انجام بدیم
پس اول یه synonyms رو سرور1 ایجاد میکنیم از جدول همانند که روی سرور2 هست
کد:
CREATE SYNONYM [dbo].[syn_server2] FOR [server2].[Mydbonserver1].[dbo].[tbl_Clone]
بعد یه ویو درست میکنیم تو سرور1 با این دستور :
کد:
SELECT * FROM dbo.syn_server2 WHERE (id>10)
UNION ALL
SELECT * FROM tbl_Clone WHERE (id>10)
اینجوری از هر دو دیتابیس میخونی و مجموع نتایج ادغام میشن و نمایش داده میشن :)
حالت دوم هم اینمیشه که هر دو دیتابیس رو یک سرور هستن و تو یک اینستنس
تو این حالت نیازی به ساخت synonym نیست
و دستور رو میتونییم به این حالت بنویسیم :

کد:
SELECT * FROM dbo.db1.tbl_Clone WHERE (id>10)
UNION ALL
SELECT * FROM dbo.db2.tbl_Clone WHERE (id>10)

نکته : اگر از synonym استفاده کنیم باید سرور2 به سرور1 بشناسونیم :
sp_addlinkedserver
و در سرور2 حق دسترسی بدیم که ساده ترینش ایجاد BUILTIN\Users هست

حامد ارفعی

موفقيت، پيش رفتن است، نه به نقطه ي پايان رسيدن.(آنتوني رابينز)


تریگرها در SQL server

آیا میدانید SQL ای
(آخرین ویرایش در این ارسال: ۲۰-آذر-۱۳۹۱, ۲۱:۱۹:۴۹، توسط hamed_Arfaee.)
۲۰-آذر-۱۳۹۱, ۲۰:۵۸:۰۴
وب سایت ارسال‌ها
پاسخ
تشکر شده توسط : Ghoghnus, Di Di
Ghoghnus آفلاین
مدیر بخش
*****

ارسال‌ها: 1,497
موضوع‌ها: 270
تاریخ عضویت: آذر ۱۳۸۸

تشکرها : 1652
( 3938 تشکر در 1453 ارسال )
ارسال: #7
RE: خواندن از دو دیتابیس روی سرور های مجزا!
(۲۰-آذر-۱۳۹۱, ۲۰:۵۸:۰۴)hamed_Arfaee نوشته است: سلام

پس اول یه synonyms رو سرور1 ایجاد میکنیم از جدول همانند که روی سرور2 هست
کد:
CREATE SYNONYM [dbo].[syn_server2] FOR [server2].[Mydbonserver1].[dbo].[tbl_Clone]

سلام ممنون از پاسختون!
چند مورد را اصلا متوجه نشدم اگر ممکنه یکم بیشتر توضیح بدین!synonyms چیه ؟و چرا درست میکنیم؟
server2 بجای این من باید چی بزارم؟اسم کاتلگ (اسم بانکم )را؟

[تصویر:  a.jpg]

باور کنیم
همانگونه که در غیبت مقصریم در ظهور موثریم!
نیستیم؟

زیر شمشیر غمش رقص کنان باید رفت #  کان که شد کُشته ی او نیک سرانجام افتاد



 چشمک - بهینه شده برای ورژن جدید دانلود پروژه برنامه نويسي
۲۰-آذر-۱۳۹۱, ۲۳:۴۷:۴۵
وب سایت ارسال‌ها
پاسخ
hamed_Arfaee آفلاین
مدیر بخش
*****

ارسال‌ها: 1,334
موضوع‌ها: 231
تاریخ عضویت: تير ۱۳۸۳

تشکرها : 1250
( 2634 تشکر در 730 ارسال )
ارسال: #8
RE: خواندن از دو دیتابیس روی سرور های مجزا!
(۲۰-آذر-۱۳۹۱, ۲۳:۴۷:۴۵)Ghoghnus نوشته است:
(۲۰-آذر-۱۳۹۱, ۲۰:۵۸:۰۴)hamed_Arfaee نوشته است: سلام

پس اول یه synonyms رو سرور1 ایجاد میکنیم از جدول همانند که روی سرور2 هست
کد:
CREATE SYNONYM [dbo].[syn_server2] FOR [server2].[Mydbonserver1].[dbo].[tbl_Clone]

سلام ممنون از پاسختون!
چند مورد را اصلا متوجه نشدم اگر ممکنه یکم بیشتر توضیح بدین!synonyms چیه ؟و چرا درست میکنیم؟
server2 بجای این من باید چی بزارم؟اسم کاتلگ (اسم بانکم )را؟

synonym برای خلاصه کردن استفاده میشه یعنی بجای اینکه بنویسیم :
کد:
select * from [server2].[Mydbonserver2].[dbo].[tbl_Clone]
خلاصه میکنیم و مینویسیم :
کد:
select * from dbo.syn_server2
وقتی شما دو تا سرور داری به هر کدوم چجوری وارد میشین یا با آی پی یا نام سرور.
Mydbonserver2 هم اسم دیتابیستون روی سرور2 هست که من اشتباهی نوشته بودم Mydbonserver1 :)

حامد ارفعی

موفقيت، پيش رفتن است، نه به نقطه ي پايان رسيدن.(آنتوني رابينز)


تریگرها در SQL server

آیا میدانید SQL ای
۲۱-آذر-۱۳۹۱, ۱۲:۰۶:۳۰
وب سایت ارسال‌ها
پاسخ
تشکر شده توسط : Ghoghnus


موضوعات مرتبط با این موضوع...
موضوع نویسنده پاسخ بازدید آخرین ارسال
  [سوال] چگونگی اتصال تبلت به دیتابیس mehdisafari 4 4,332 ۰۹-مرداد-۱۳۹۵, ۰۸:۲۴:۳۸
آخرین ارسال: mehdisafari
Wink [آموزشی] انواع روشهای پشتیبان گیری از دیتابیس bghad1 5 6,446 ۲۶-فروردین-۱۳۹۴, ۱۱:۵۸:۲۱
آخرین ارسال: bghad1
  دیتابیس آسیب دیده taksa2012 1 2,248 ۲۶-تير-۱۳۹۳, ۱۵:۳۹:۰۶
آخرین ارسال: babyy
  انتقال دیتابیس به سیستم کاربر به وسیله اسکریپت taksa2012 1 2,619 ۰۷-تير-۱۳۹۳, ۰۷:۵۸:۰۵
آخرین ارسال: Di Di
  مشاهده ی همه ی رکوردهای جدول در اس کیو ال سرور ترانسپورتر 20 13,634 ۱۳-مهر-۱۳۹۲, ۱۶:۰۸:۱۵
آخرین ارسال: ترانسپورتر
Question کپی برداری از دیتابیس سایت access19 2 4,273 ۲۶-آبان-۱۳۹۱, ۰۲:۰۹:۳۱
آخرین ارسال: hosseinmm2
  [سوال] خطا در کانکت شدن به اس کیو ال سرور 2008 ahmad_lovely 1 6,779 ۱۴-آبان-۱۳۹۱, ۱۵:۵۹:۳۵
آخرین ارسال: ahmad_lovely
  مشکل با SQL هنگام Attach کردن دیتابیس حجیم mojtabamalaekeh 4 7,883 ۰۳-خرداد-۱۳۹۱, ۱۵:۲۶:۵۸
آخرین ارسال: mojtabamalaekeh
  انتخاب چندرکورد از بانک کلاینت وارسال همزمان انها به بانک سرور با وی بی 6 am3410 1 2,972 ۱۳-مرداد-۱۳۸۹, ۲۰:۴۴:۲۴
آخرین ارسال: far_222000
  مشکل مقایسه عکس در دیتابیس Payman62 5 6,062 ۱۳-مرداد-۱۳۸۹, ۲۰:۴۰:۰۱
آخرین ارسال: far_222000

پرش به انجمن:


کاربرانِ درحال بازدید از این موضوع: 1 مهمان

صفحه‌ی تماس | IranVig | بازگشت به بالا | | بایگانی | پیوند سایتی RSS