مقدمه

SSIS، سر حروف کلمات SQL Server Integration Services است.  این ابزار یکی از ابزارهای هوش تجاری مایکروسافت می باشد. وظیفه این ابزار اتصال به انواع منابع داده ای، استخراج داده، پاکسازی داده ها و بارگذاری درمقصد است. در واقع وظیفه ابزار SSIS انجام فرایند ETL یا همان Extract, Transform, Load است. برای انجام فرایند ساخت انبار داده در هوش تجاری مایکروسافت عموما از این ابزار استفاده می شود. 

بنابراین ابزار SSIS، یک ابزار گرافیکی است که امکان انجام فرایند ETL راحتی بدون داشتن دانش کدنویسی با زبان SQL فراهم میکند. اگرچه که امکان اجرای کدهای SQL نیز در آن وجود دارد.

تاریخچه SSIS

ابتدا در SQL Server 7 ابزاری به نام Data Transformation Services یا به اختصار DTS وجود داشت؛ که در سال 1998 منتشر گردید. DTS ابزار بسیار ساده ای برای ورود و خروج داده ها بود. در سال 2000 و زمانی که SQL Server با استقبال گسترده ای روبرو شد؛ ابزار Data Transformation Services به عنوان بخشی از SQL Server Enterprise Manager وجود داشت (SQL Server Enterprise Manager بعدا با SSMS جایگزین شد).

در سال 2005 نام آن به طورکلی تغییر کرد و به SQL Server Integration Services تبدیل شد. همچنین محیط توسعه که قبلا در SQL Server Enterprise Manager بود تغییر کرد و از محیط توسعه جدیدی به نام  BIDS (Business Intelligence Development Studio) رو نمایی شد. در SSIS 2008 ابزارهای اتصال  ADO.NET  و Data Profiler اضافه گردید.

در سال 2012، محیط توسعه BIDS با SQL Server Data Tools (SSDT) جایگزین شد. SSDT یک افزونه است که بر روی ویژوال استودیو نصب میگردد. با نصب این افزونه امکان ایجاد پروژه های از نوع SSIS در ویژوال استودیو فراهم می شود. محیط SSIS در آخرین نسخه که 2022 است؛ به صورت تصویر زیر است.


نصب SSIS

برای نصب SSIS، نیاز است به هنگام نصب ویژوال استودیو گزینه خاصی انتخاب شود. ابتدا برای دانلود ویژوال استودیو به این لینک مراجعه کنید و یکی از نسخه های ویژوال استودیو را دانلود کنید. سپس فایل دانلود شده را اجرا کنید. هنگامی که با پنجره تصویر زیر روبرو شدید باید گزینه Data Storage and Processing را انتخاب کنید.


پس از اتمام فرایند نصب، نیاز است که ابتدا افزونه SQL Server Integration Services Projects را نصب کنید. برای دانلود این افزونه می توانید به این لینک مراجعه کنید. پس از آن با باز کردن ویژوال استودیو و انتخاب Create a New Project، می توانید در نوار جستجو Integration را جستجو کنید و Integration Service Project را انتخاب کنید تا پروژه ای از نوع SSIS برای شما ایجاد شود.


تسکهای SSIS

انجام فرایند ETL در SSIS از طریق اجرا شدن یک سری Task به صورت پشت سرو هم متوالی است. هر کدام از این تسک ها وظیفه ای را انجام داده و تغییری را بر روی داده ها اعمال میکنند.مهمترین Task ها در SSIS به شرح زیر است.

  • Execute SQL Task: یک کویری نوشته شده با زبان SQL را در دیتابیس تعیین شده اجرا می کند.
  • Data Flow Task: برای انتقال داده بین یک مبدا و مقصد مورد استفاده قرار میگیرد و مبدا و مقصد می توانند، فایل های اکسل، تکست، XML,CSV,JSON و یا دیتابیس باشند.
  • Merge Join: برای ایجاد Join بین دو جدول از منابع داده مختلف استفاده می شود.
  • For Each Loop Container: برای اجزای یک سری فعالیتهای مشابه و تکراری بر روی جداول و یا منابع داده مورد استفاده قرار می گیرد.
  • Merge Task: برای ترکیب دو منبع داده به صورت سطری مورد استفاده قرار می گیرد. در واقع معادل Union ALL در زبان SQL است. این تسک فقط برای دو منبع داده کار برد دارد. در صورتی که بیش از دو منبع داده را بخواهیم ترکیب کنیم از تسک Union ALL استفاده میکنیم.
  • File System Task: برای انجام عملیات بر روی فایلها از این تسک استفاده می شود. عملیاتهایی مثل حذف فایل، انتقال فایل و یا کپی کردن فایل با این تسک قابل انجام است.
  • Execute Process Task: یکی از قابلیتهای مهم SSIS این تسک است. این تسک امکان اجرای برنامه های خارج از SSIS مثلا اجرای پایتون را می دهد. بدین ترتیب می توانید یکی کد پایتون را در SSIS فراخوانی و اجرا کنید.

نمونه پروژه SSIS

 در این قسمت یک نمونه یک پروژه SSIS پیاده سازی شده است. فایل ویدیویی آموزش نحوه پیاده سازی آن نیز به همراه سایر فایل ها وجود دارد. در این پروژه از انواع منابع داده ای XML، CSV و اکسل استفاده شده است. همچنین از تسک های Data Flow Task و For Each Loop Container  نیز استفاده شده است. جهت دانلود فایل های مورد استفاده در این پروژه و همچنین ویدیوی آموزش پروژه، روی این لینک کلیک کنید.

پایان