اگر دیتابیس شما MS SQL Server است و در به روز رسانی و نگهداری دیتابیس با مشکلات زیر مواجه شده اید نیازمند ابزار جدیدی برای بهبود فرآیندهای جاری هستید.

  • تعداد اشیا موجود در دیتابیس شما زیاد است و database first هستید.
  • حجم تغییرات اشیا دیتابیس به واسطه وجود تیم های توسعه مختلف زیاد است و در بروز رسانی ها برخی تغییرات منتقل نمی گردند.
  • اطلاعات پایه و تنظمیات اصلی سیستم که باید در تمام دیتابیسهای شما نزد مشتریان یکسان باشند دچار مشکل شده و دیتابیس هر مشتری تبدیل به ماهیتی متفاوت شده است و تست و نگهداری سیستم را سخت نموده است.
  • تعداد بالای دیتابیسهای شما باعث شده کنترل موضوع از دست شما خارج شده و هر دیتابیسی به ماهیتی مستقل از نظر اشیا موجود در دیتابیس تبدیل شود.
  • تیم دیتابیس برای هر پابلیش در اخرین لحظات تغییرات اعمال شده در دیتابیس را مشاهده می نماید و مجبور است به خاطر به تعویق نیفتادن پابلیش تا پاسی از شب جهت به روز رسانی دیتابیس تلاش نماید.
  • به روز رسانی دیتابیس ها به روش Migration Base نیازمند صرف زمان زیاد جهت تولید اسکریپت و داشتن روشی جهت مدیریت نحوه اجرای آن بر روی دیتابیسهای مختلف است.
  • به روز رسانی دیتابیس ها به روش State Base نیازمند مقایسه دو دیتابیس با یکدیگر و سپس تولید اسکریپت غیر قابل اطمینان توسط ابزار است که نیازمند بررسی و تایید توسط تیم DBA است، این چرخه به ازاء هر دیتابیس تکرار می گردد.

برخی از موارد ذکر شده در بالا واقعیت کاری هر روز بالغ بر ۸۰ درصد شرکت های فعال در صنعت فناوری اطلاعات کشورمان می باشد.

بهترین ابزار جهت مدیریت تغییرات دیتابیس MS Sql Server ابزار SQL Change Automation شرکت Redgate است. این ابزار با استفاده از چندین روش زیر سعی دارد مشکلات بیان شده در بالا را رفع نماید.

  • استفاده از روش به روز رسانی Hybrid دیتابیس ها با ترکیب مزایای دو روش Migration Base و State Base
  • مدیریت خودکار فرآیند به روز رسانی دیتابیسهای مقصد، چه کدی روی دیتابیس قبلا اجرا شده و نیاز به اجرا ندارد و چه اشیائی باید به روز رسانی شوند و ترتیب به روز رسانی به چه شکل باید باشد.
  • مدیریت خودکار اشیاء بدون حالت یا State less مثل Function ها
  • تولید خودکار کدهای لازم جهت به روز رسانی اشیاء دارای حالت مثل Table ها
  • مدیریت دیتا موجود در جداول خاص مثل اطلاعات پایه یا تنظیمات و انتقال انها به دیتابیس های مقصد
  • تبدیل نمودن دیتابیس و تغییرات آن به یک Git Repository و به وجود آوردن چرخه قابل بازرسی از تغییرات اعمال شده روی دیتابیس و استفاده از Pull request در تایید تغییرات توسط تیم DBA
  • ایجاد CI و CD جهت تست و سپس انتشار دیتابیس در محیط های مختلف با استفاده از Git Repository مرتبط با دیتابیس

در سال های اخیر با مطرح شدن DevOps و انتشار این تجربه به بخش های مختلف تیم های فنی مثل زیرساخت و امنیت و دیتابیس، ابزارها جهت رفع این نیازها در حال به روز رسانی و تغییر هستند. ابزار SCA رد گیت به بلوغ کافی جهت مدیریت سریع و راحت تغییرات دیتابیسهای شما رسیده است.