About This Page
This page is part of the Azure documentation. It contains code examples and configuration instructions for working with Azure services.
Bias Analysis
Bias Types:
⚠️
powershell_heavy
⚠️
windows_tools
⚠️
windows_first
⚠️
missing_linux_example
Summary:
The documentation page demonstrates a strong Windows bias, particularly in its automation and scripting sections. All command-line examples are provided exclusively in PowerShell, with explicit references to Windows file paths (e.g., C:\ADF\RunSSISPackage) and no mention of Bash, Azure CLI, or cross-platform alternatives. The PowerShell approach is presented as the only automation method, and there are no Linux/macOS-specific instructions or parity notes. The UI walkthrough is platform-agnostic, but all scripting and file management assume a Windows environment.
Recommendations:
- Provide equivalent examples using Azure CLI and Bash scripts for all PowerShell automation steps, including Data Factory creation, linked service setup, pipeline deployment, and monitoring.
- Replace or supplement Windows file paths (e.g., C:\ADF\RunSSISPackage) with cross-platform or Linux/macOS-friendly paths (e.g., ~/ADF/RunSSISPackage), or clarify that the location is arbitrary.
- Explicitly state that the PowerShell approach is cross-platform if using PowerShell Core, or clarify Windows-only requirements if not.
- Add a section or callout for Linux/macOS users, outlining any prerequisites or differences in procedure.
- Where possible, link to Azure CLI documentation and provide side-by-side code samples for both PowerShell and CLI.
- Review metadata (e.g., ms.devlang: powershell) and custom tags to ensure they do not exclude or discourage non-Windows users.
Create pull request
Flagged Code Snippets
$resourceGroupName = "ADFTutorialResourceGroup";
DECLARE @return_value INT, @exe_id BIGINT, @err_msg NVARCHAR(150) EXEC @return_value=[SSISDB].[catalog].[create_execution] @folder_name=N'<FOLDER name in SSIS Catalog>', @project_name=N'<PROJECT name in SSIS Catalog>', @package_name=N'<PACKAGE name>.dtsx', @use32bitruntime=0, @runinscaleout=1, @useanyworker=1, @execution_id=@exe_id OUTPUT EXEC [SSISDB].[catalog].[set_execution_parameter_value] @exe_id, @object_type=50, @parameter_name=N'SYNCHRONIZED', @parameter_value=1 EXEC [SSISDB].[catalog].[start_execution] @execution_id=@exe_id, @retry_count=0 IF(SELECT [status] FROM [SSISDB].[catalog].[executions] WHERE execution_id=@exe_id)<>7 BEGIN SET @err_msg=N'Your package execution did not succeed for execution ID: ' + CAST(@exe_id AS NVARCHAR(20)) RAISERROR(@err_msg,15,1) END
$ResGrp = New-AzResourceGroup $resourceGroupName -location 'eastus'
$DataFactoryName = "ADFTutorialFactory";
2. In **Azure PowerShell**, switch to the **C:\ADF\RunSSISPackage** folder.
3. Run the **Set-AzDataFactoryV2LinkedService** cmdlet to create the linked service: **AzureSqlDatabaseLinkedService**.
2. In **Azure PowerShell**, switch to the **C:\ADF\RunSSISPackage** folder.
3. Run the **Set-AzDataFactoryV2Trigger** cmdlet, which creates the trigger.
* To create Data Factory instances, the user account you use to log in to Azure must be a member of **contributor** or **owner** roles, or an **administrator** of the Azure subscription.
* For a list of Azure regions in which Data Factory is currently available, select the regions that interest you on the following page, and then expand **Analytics** to locate **Data Factory**: [Products available by region](https://azure.microsoft.com/global-infrastructure/services/). The data stores (Azure Storage, Azure SQL Database, etc.) and computes (HDInsight, etc.) used by data factory can be in other regions.
### Create an Azure SQL Database linked service
Create a linked service to link your database that hosts the SSIS catalog to your data factory. Data Factory uses information in this linked service to connect to SSISDB database, and executes a stored procedure to run an SSIS package.
1. Create a JSON file named **AzureSqlDatabaseLinkedService.json** in **C:\ADF\RunSSISPackage** folder with the following content:
> [!IMPORTANT]
> Replace <servername>, <username>, and <password> with values of your Azure SQL Database before saving the file.
### Create a pipeline with stored procedure activity
In this step, you create a pipeline with a stored procedure activity. The activity invokes the sp_executesql stored procedure to run your SSIS package.
1. Create a JSON file named **RunSSISPackagePipeline.json** in the **C:\ADF\RunSSISPackage** folder with the following content:
> [!IMPORTANT]
> Replace <FOLDER NAME>, <PROJECT NAME>, <PACKAGE NAME> with names of folder, project, and package in the SSIS catalog before saving the file.
2. To create the pipeline: **RunSSISPackagePipeline**, Run the **Set-AzDataFactoryV2Pipeline** cmdlet.
### Create a pipeline run
Use the **Invoke-AzDataFactoryV2Pipeline** cmdlet to run the pipeline. The cmdlet returns the pipeline run ID for future monitoring.
### Monitor the pipeline run
Run the following PowerShell script to continuously check the pipeline run status until it finishes copying the data. Copy/paste the following script in the PowerShell window, and press ENTER.
### Create a trigger
In the previous step, you invoked the pipeline on-demand. You can also create a schedule trigger to run the pipeline on a schedule (hourly, daily, etc.).
1. Create a JSON file named **MyTrigger.json** in **C:\ADF\RunSSISPackage** folder with the following content:
4. By default, the trigger is in stopped state. Start the trigger by running the **Start-AzDataFactoryV2Trigger** cmdlet.
5. Confirm that the trigger is started by running the **Get-AzDataFactoryV2Trigger** cmdlet.
Get-AzDataFactoryV2TriggerRun -ResourceGroupName $ResourceGroupName -DataFactoryName $DataFactoryName -TriggerName "MyTrigger" -TriggerRunStartedAfter "2017-12-06" -TriggerRunStartedBefore "2017-12-09"