اجرای پکیجهای SSIS در SSMS
استفاده از کاتالوگ SQL Server Integration Services (SSISDB) روشی نوین و کارآمد برای استقرار، مدیریت و اجرای پکیجهای SSIS فراهم میکند. این رویکرد، امکانات قدرتمندی برای نظارت، پیکربندی و اتوماسیون فرایندهای ETL ارائه میدهد. در این مقاله، نحوه اجرای یک پکیج SSIS از طریق SQL Server Management Studio (SSMS) را به صورت گرافیکی و همچنین با استفاده از دستورات T-SQL، گام به گام بررسی میکنیم.
استقرار پروژه SSIS در کاتالوگ SSISDB
پیش از اجرای پکیج، اطمینان حاصل کنید که پروژه SSIS شما در کاتالوگ Integration Services (SSISDB) مستقر شده باشد. در SSMS، در Object Explorer به بخش “Integration Services Catalogs” و سپس “SSISDB” بروید. اگر پروژه شما در اینجا قرار ندارد، باید آن را از طریق Visual Studio یا با استفاده از Deployment Wizard در SSMS مستقر کنید.
اجرای پکیج SSIS از طریق رابط کاربری SSMS
برای اجرای یک پکیج SSIS به صورت دستی از طریق رابط کاربری گرافیکی SSMS، مراحل زیر را دنبال کنید:
1. اتصال به سرور: SSMS را باز کرده و به نمونه SQL Server خود متصل شوید.
2. یافتن پکیج: در Object Explorer، به مسیر زیر بروید:
SSISDB -> [نام پوشه پروژه شما] -> [نام پروژه شما] -> [نام پکیج شما].dtsx
3. انتخاب گزینه اجرا: روی نام پکیج مورد نظر (مثلاً `MyPackage.dtsx`) راست کلیک کرده و گزینه “Execute” را انتخاب کنید.
با انتخاب “Execute”، پنجره “Execute Package” باز میشود که به شما امکان میدهد تنظیمات اجرا را پیکربندی کنید:
تب Parameters (پارامترها):
در این تب میتوانید مقادیر پارامترهای پروژه و پکیج را تغییر دهید. این پارامترها برای پویاسازی رفتار پکیج در زمان اجرا استفاده میشوند.
تب Connection Managers (مدیران اتصال):
این تب به شما امکان میدهد خصوصیات Connection Managerها (مانند Connection String) را برای اجرای فعلی بازنویسی کنید. این ویژگی برای تغییر اتصالات بین محیطهای توسعه، تست و تولید بسیار مفید است.
تب Advanced (پیشرفته):
در این بخش میتوانید تنظیمات پیشرفتهتری مانند سطح لاگینگ (Logging Level)، فعال کردن ایجاد DUMP در صورت خطا، و تنظیمات مرتبط با محیطهای اجرایی را پیکربندی کنید.
4. شروع اجرا: پس از تنظیم پارامترهای لازم، روی دکمه “OK” کلیک کنید تا پکیج SSIS اجرا شود.
پس از شروع اجرا، پنجره “Overview” یا “Operations Report” به صورت خودکار باز میشود تا وضعیت و جزئیات اجرای پکیج را به شما نمایش دهد. در این گزارش میتوانید خطاهای احتمالی، هشدارها و مدت زمان اجرای پکیج را مشاهده کنید.
اجرای پکیج SSIS از طریق T-SQL
اجرای پکیجهای SSIS با استفاده از T-SQL در SSMS، روشی قدرتمند برای اتوماسیون و زمانبندی (مانند استفاده در SQL Server Agent Job) فراهم میکند. این روش شامل فراخوانی سه رویه ذخیره شده (Stored Procedure) اصلی در کاتالوگ SSISDB است:
1. ایجاد یک نمونه اجرا (Execution Instance):
ابتدا یک ID برای اجرای جدید ایجاد میشود. این ID مرجعی برای تمام تنظیمات و عملیات بعدی مربوط به این اجرا خواهد بود.
DECLARE @execution_id BIGINT;
EXEC [SSISDB].[catalog].[create_execution]
@package_name = N'Package.dtsx',
@project_name = N'ProjectName',
@folder_name = N'FolderName',
@reference_id = NULL,
@use32bitruntime = FALSE,
@precompile = FALSE,
@runinscaleout = FALSE,
@useanyworker = FALSE,
@caller_info = NULL,
@exec_id = @execution_id OUTPUT;
SELECT @execution_id;
در این دستور، `create_execution` یک شناسه منحصر به فرد `execution_id` برای اجرای پکیج شما ایجاد میکند. پارامترهایی مانند `package_name`, `project_name`, و `folder_name` برای شناسایی پکیج ضروری هستند.
2. تنظیم مقادیر پارامترها و خصوصیات Connection Managerها:
پس از ایجاد `execution_id`، میتوانید مقادیر پارامترهای پکیج و پروژه یا خصوصیات Connection Managerها را تنظیم کنید.
-- تنظیم یک پارامتر پکیج (مثال: پارامتر رشتهای به نام MyStringParam)
EXEC [SSISDB].[catalog].[set_execution_parameter_value]
@execution_id = @execution_id,
@object_type = 50, -- 50 برای پارامتر پکیج، 20 برای پارامتر پروژه
@parameter_name = N'MyStringParam',
@parameter_value = N'Hello SSIS!';
-- تنظیم خصوصیت Connection Manager (مثال: Connection String)
EXEC [SSISDB].[catalog].[set_execution_parameter_value]
@execution_id = @execution_id,
@object_type = 30, -- 30 برای خصوصیت Connection Manager
@parameter_name = N'CM.MyConnection.ConnectionString',
@parameter_value = N'Data Source=.;Initial Catalog=AdventureWorks;Integrated Security=SSPI;';
دستور `set_execution_parameter_value` برای تنظیم مقادیر پارامترها استفاده میشود. `object_type` نوع شیء (پکیج پارامتر، پروژه پارامتر یا خصوصیت Connection Manager) را مشخص میکند و `parameter_name` و `parameter_value` به ترتیب نام و مقدار پارامتر را تعیین میکنند.
3. شروع اجرای پکیج:
در نهایت، با فراخوانی `start_execution`، پکیج SSIS با استفاده از `execution_id` ایجاد شده و تنظیمات انجام شده، شروع به کار میکند.
EXEC [SSISDB].[catalog].[start_execution] @execution_id;
GO
```
این دستور، پکیج را به صورت ناهمگام (asynchronous) اجرا میکند، به این معنی که اجرای T-SQL بلافاصله تکمیل میشود اما پکیج در پسزمینه به کار خود ادامه میدهد.
مانیتورینگ اجرای پکیج SSIS
کاتالوگ SSISDB ابزارهای قدرتمندی برای نظارت بر اجرای پکیجها فراهم میکند. برای مشاهده وضعیت اجرای پکیجها:
1. در Object Explorer SSMS، روی گره “SSISDB” راست کلیک کنید.
2. به “Reports” و سپس “All Executions” بروید.
این گزارش یک نمای جامع از تمام اجراهای گذشته و جاری پکیجها را به همراه جزئیاتی مانند زمان شروع، زمان پایان، وضعیت (موفق، ناموفق، در حال اجرا) و مدت زمان اجرا نمایش میدهد. با کلیک بر روی هر اجرا، میتوانید جزئیات بیشتری از جمله پیامهای خطا، لاگها و عملکرد هر مرحله از پکیج را مشاهده کنید.
نتیجهگیری
چه از طریق رابط کاربری گرافیکی SSMS و چه با استفاده از اسکریپتهای T-SQL، اجرای پکیجهای SSIS در کاتالوگ SSISDB امکان مدیریت و نظارت کارآمد بر فرایندهای ETL را فراهم میآورد. این قابلیتها به مدیران پایگاه داده و توسعهدهندگان BI کمک میکند تا عملیات داده را با اطمینان و انعطافپذیری بیشتری انجام دهند. با آشنایی با هر دو روش، میتوانید بهترین گزینه را برای نیازهای خاص پروژههای خود انتخاب کنید و از مزایای کامل کاتالوگ SSIS بهرهمند شوید.