ابزار کاملا رایگان برای مقایسه دو دیتابیس Sql server

یه مثل هست میگه "لقمه رو دور سرش میچرخونه!" ، دقیقا مصداق یه سری از توسعه دهندگان sql server هست. وقتی من کارم اینه که فقط دوتا دیتابیس رو باهم مقایسه کنم و تفاوت هاش رو در بیارم(حالا چه تو مقوله دیتا و یا چه تو مقوله فانکشن و اس پی و ...)چه لزومی داره که از ابزار های غیر رایگان و سنگین(تر) مثل Apex یا Redgate استفاده بنمایم؟من با یه جستجو داخل گیتهاب به یه ابزار فوق العاده کاربردی به نام OpenDBDiff در این زمینه رسیدم ، که نحوه کارش رو در ادامه خدمتتون عرض میکنماول برای دوستانی که شاید تازه شروع کرده باشن یا تاحالا به این مسائل برنخورده باشن صورت مسئله رو تعریف کنم:فرض کنید شما یه دیتابیس داخل سیستم لوکال دارید و در حال توسعه اون هستید و یه نسخه دیتابیس هم در سرور نرم افزار زیر بار هست تغییرات زیادی هم دادید و قصد دارید که تغییرات جدید رو به دیتابیس سرور اصلی منتقل کنید ، راه حل چیه؟ اول: یا باید دونه دونه اس پی ها ، فانکشن ها ، جداول ، ویو ها و ... بررسی کنید و تغییرات جدید رو یکی یکی روی دیتابیس اصلی اعمال کنید که روی یک بانک اطلاعاتی در مقیاس بزرگ دیوانه کنندس! دوم: از ابزاری که کارش مقایسه دو بانک اطلاعاتی هست استفاده کنید و تغییرات رو بدست بیارید ، حالا اگه اون ابزار اسکریپت اعمال تغییرات رو هم دولوپی در اختیارتون بزاره که دیگه نوره علی نوره :)بریم سراغ آموزش:1- بعد از دانلود برنامه خیلی راحت و بدون نیاز به نصب اون رو اجرا می کنیدو با صفحه زیر روبرو می شید:نمایی از محیط برنامه2- در کادر سمت چپ نوشته Source database که باید اطلاعات ورود مربوط به دیتابیسی که توسعه رو روی اون انجام دادید وارد کنید و در کادر سمت نوشته Destination database که باید اطلاعات ورود مربوط به دیتابیسی که قراره تغییرات جدید روی اون بره رو وارد کنید.3- روی دکمه Compare کلیک کنید و تمام تغییرات نمایش داده میشهطبق توضیحی هم که خود ابزار قرار داده ، تغییر سبز یعنی یک نمونه جدید ایجاد شده ، تغییر آبی یعنی یک نمونه تغییر کرده و تغییر قرمز هم یعنی یک نمونه حذف شده و این تغییرات روی دیتابیسی اتفاق افتاده که در حال توسعه روی اون بودیدحالا خوبیه این ابزار اینه که اسکریپت اعمال تغییرات رو خودش میده و نیازی به ساخت اسکریپت نداریدفقط کافیه بعد از این که روی دکمه Compare کلیک کردید و تغییرات با رنگ های مشخص شده نمایش داده شد ، وارد تب Synchronized script بشید تا اسکریپت لازم برای اعمال تغییرات روی دیتابیس مقصد رو به دست بیاریدیه قابلیت خوب دیگه ای هم که این ابزار داره مشاهده و اعمال تغییرات روی دیتا هست!بزارید یه صورت مسئله دیگه خدمتتون تعریف کنم:فرض کنید روی یکی از جداول دیتابیس سرور اصلیتون حدود 1 میلیون رکورد تولید شده و قصد دارید ادامه توسعه رو در شرایط واقعی تر در دیتابیس لوکالتون انجام بدید پس به دیتاهای واقعی تری هم نیاز داریدیعنی دقیقا همین دیتاهایی که روی سرور اصلی هستخوب راه زیاد هست برای این که از دیتابیس سرور اصلی دیتا رو بیارید روی لوکال ، اما اگه از یه ابزاری مثل همین OpenDBDiff استفاده کنید متعجب میشید که چطور ممکنه یکار انقدر ساده انجام بشهحالا ادامه آموزش:بعد از اینکه اطلاعات ورود دو دیتابیس رو وارد کردید (دقت کنید اون دیتابیسی به عنوان دیتابیس منبع میشه که قراره رکورد ها رو ازش کپی بگیرید) و دکمه Comare رو زدید ، از سمت راست جدولی که قصد دارید از رکورد هاش کپی بگیرید رو انتخاب کنید و از سمت چپ روی دکمه Compare data کلیک کنید یه کادری مثل تصویر زیر باز میشهگزینه Merge all رو بزنید و بعدش Commit و تمام!البته این ابزار یه سری تنظیمات برای مقایسه و خروجی ها داره که من خودم باهاش کارنکردم.امیدوارم توضیحاتم برای شما مفید واقع شده باشه.آدرس گیتهاب این ابزاراگه شما هم ابزار های کاربردی مثل این برنامه رو میشناسید ممنون میشم در کامنت ها معرفی کنید.