PDA

View Full Version : انتقال آخرین اطلاعات از یک دیتا بیس به دیتابیس دیگر



taknavaz123
سه شنبه 15 فروردین 1391, 13:00 عصر
با سلام.

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

حالا میخواستم بدونم آیا راهی هست که بتونیم از طریق آنلاین هر دو ساعت یک بار فقط آخرین داده های وارد شده به پایگاه داده شهر یک رو بگیریم و وارد پایگاه داده شهر دوم بکنیم؟
به زبان ساده فقط میخواهیم هر چند ساعت یک بار فقط آخرین داده ها رو از دیتابیس راه دور بگیریم و وارد دیتابیس خودمون کنیم.
راه دستی یا اتوماتیک.
ممنون میشم راهنمایی کنید

p.yazdkhasti
سه شنبه 15 فروردین 1391, 23:27 عصر
با سلام
با استفاده از قابلیت Replication در SQL Server این موضوع به صورت اتوماتیک امکان پذیر است. البته توجه داشته باشید که Replication انواع مختلف دارد و شما تنها نیاز دارید اطلاعات را از شهر 1 به شهر 2 منتقل کنید. پیشنهاد من استفاده از Transactional Replication می باشد.
لینک های زیر مفید هستند:
http://msdn.microsoft.com/en-us/library/ms151198.aspx
http://technet.microsoft.com/en-us/library/ms152531.aspx

taknavaz123
پنج شنبه 17 فروردین 1391, 20:15 عصر
ممنون از راهنمايتون.
ولي لينكها كار نميكنن

p.yazdkhasti
یک شنبه 20 فروردین 1391, 00:08 صبح
سلام دوست عزیز
توضیحات مربوط به انجام این کار زیاد است و نمی توان همه آن ها را در این قسمت توضیح داد. به دلیل این که راه اندازی Replication برای شما ممکن است زمان گیر باشد می توانید از نرم افزار Red-Gate Data Compare برای این کار استفاده نمایید. استفاده از این نرم افزار بسیار ساده است. شما می توانید با استفاده از این نرم افزار ابتدا به صورت دستی اطلاعات را Sync نمایید و سپس از بعد از اطمینان از عملکرد صحیح آن به وسیله یک Job عملیات Sync را توسط این نرم افزار اتوماتیک نمایید. لینک این نرم افزار به صورت زیر است :
http://www.red-gate.com/products/sql-development/sql-data-compare/

vahidpur
یک شنبه 20 فروردین 1391, 14:24 عصر
سلام
اين نرم افزار كه دوستمون p.yazdkhasti معرفي كردن خيلي خوبه ولي ايرادش اينه كه عمليات
دستي بايد انجام بشه و مدت استفاده از اون هم 14 روزه هست

به نظر من بهتر از Linked Server استفاده كني

اگه به سرور دسترسي ريموت داري باه يه SP , Job
ميتوني عمليات بروز رساني جداول رو در هر بازه زماني انجام بدي
اونم به صورت خودكار توسط خود SQL

http://barnamenevis.org/showthread.php?328309-%D8%A7%D9%86%D8%AA%D9%82%D8%A7%D9%84-%D8%A7%D8%B7%D9%84%D8%A7%D8%B9%D8%A7%D8%AA-%D8%A7%D8%B2-%D8%B1%D9%88%DB%8C-%DB%8C%DA%A9-%D8%B3%D8%B1%D9%88%D8%B1-%D8%A8%D9%87-%D8%B3%D8%B1%D9%88%D8%B1-%D9%85%D8%AD%D9%84%DB%8C-%D8%A8%D8%AF%D9%88%D9%86-linke-server&highlight=link+server+sql+server

p.yazdkhasti
یک شنبه 20 فروردین 1391, 14:55 عصر
سلام
اين نرم افزار كه دوستمون p.yazdkhasti معرفي كردن خيلي خوبه ولي ايرادش اينه كه عمليات
دستي بايد انجام بشه و مدت استفاده از اون هم 14 روزه هست

به نظر من بهتر از Linked Server استفاده كني

اگه به سرور دسترسي ريموت داري باه يه SP , Job
ميتوني عمليات بروز رساني جداول رو در هر بازه زماني انجام بدي
اونم به صورت خودكار توسط خود SQL

http://barnamenevis.org/showthread.php?328309-%D8%A7%D9%86%D8%AA%D9%82%D8%A7%D9%84-%D8%A7%D8%B7%D9%84%D8%A7%D8%B9%D8%A7%D8%AA-%D8%A7%D8%B2-%D8%B1%D9%88%DB%8C-%DB%8C%DA%A9-%D8%B3%D8%B1%D9%88%D8%B1-%D8%A8%D9%87-%D8%B3%D8%B1%D9%88%D8%B1-%D9%85%D8%AD%D9%84%DB%8C-%D8%A8%D8%AF%D9%88%D9%86-linke-server&highlight=link+server+sql+server
سلام
با استفاده از Linked Server امکان Sync کردن اتوماتیک اطلاعات وجود ندارد و تنها امکان اجرای Query بر روی یک سرور دیگر وجود دارد. همچنین امکان اجرای اتوماتیک نرم افزار Sql Data Compare علاوه بر Sync کردن دستی وجود دارد. Command لازم برای Sync اتوماتیک توسط این برنامه به صورت زیر است:

SQLDataCompare.exe /s1:SourceServer /db1:SourceDb /s2:TargetServer
/db2:TargetDb /Include:table:\[MyTable\] /Include:Identical /v /sync

taknavaz123
دوشنبه 21 فروردین 1391, 21:09 عصر
ممنون از هر دو عزيز بابت پستهاشون
اما چند نكته.
لينكي كه از نرم افزار دادين triale.آيا لينك از نسخه با پدر مادر دارش نداريد؟
من اين نرم افزار رو تست كردم.اما روي ديتابيس مامتاسفانه ارور داد.اروري كه نوع داده Ntext رو نميفههميد.

اما يه نكته مهم اينه كه من اومدم داخل شبكه محليمون دو تا سيستم رو برداتشم.روشون sql نصب كردم و پايگاه داده اي رو روي هر دوتاشون atach كردم.
بعد تو يكشون اطلاعات ريختم و بعد با استفاده از قابليت replication خود sql تست كردم و ديدم همه اطلاعات به اون يكي ديتابيس منتقل شد.
اما وقتي اومدم اين ارتباط رو با ديتابيسي كه در سرور شهر ديگه وجود داره برقرار كنم همون اول replication ارور داد!

SQL Server replication requires the actual server name to make a connection to the server. Connections through a server alias, IP address, or any other

البته راهشو پیدا کردم.راهش استفاده از Alias