In the realm of data integration, Microsoft’s SQL Server Integration Services (SSIS) is a powerful
platform used by businesses for data migration, ETL processes (Extract, Transform, and Load), and workflow automation. While SSIS is robust and versatile, users may encounter errors during development and execution. One common issue is the “SSIS-950” error, which can interrupt data processing and lead to frustration for developers. In this article, we will delve into the nature of SSIS-950, its causes, and various strategies to resolve it. If you’ve faced this error or are looking to prevent it in your SSIS packages, keep reading for a comprehensive guide.
What Is SSIS-950?
The SSIS-950 error is a well-known issue among SSIS developers, usually encountered when executing packages developed in different environments or using different versions of the SSIS platform. The error message typically appears as:
"Error: SSIS-950: The package cannot be executed on the current installed version of Integration Services. It requires the SSIS version upgrade."
This message signifies that there is a compatibility issue between the SSIS package and the SSIS runtime environment on which it is being executed. Often, this error occurs when there is a version mismatch between the development environment and the execution environment, such as when a package created in SSIS 2016 is deployed on an SSIS 2012 server.
Causes of SSIS-950 Error
Understanding the root cause of SSIS-950 is crucial for resolving it effectively. Below are some common scenarios that lead to this error:
1. Version Mismatch Between Development and Execution Environments
One of the primary causes of the SSIS-950 error is a mismatch between the version of SSIS used to create the package and the SSIS version installed on the server where it’s being executed. For example, if a package was developed using SQL Server 2019, but it is being executed on a SQL Server 2014 environment, the server will not recognize certain components or features, leading to an SSIS-950 error.
2. TargetServerVersion Property Not Set Correctly
Starting from SQL Server Data Tools (SSDT) 2015, Microsoft introduced a property called TargetServerVersion
in SSIS projects. This property allows developers to specify the SSIS version for which the package is being created. If this property is not set correctly, the deployment might target an incompatible version, triggering the SSIS-950 error during execution.
3. Downgrade or Incompatible Features
If a package uses components, transformations, or scripts that are not available in earlier versions of SSIS, running it on a downgraded server version will cause the SSIS-950 error. This commonly happens when using new data connectors or advanced transformations that are only supported in recent SSIS versions.
4. Missing SSIS Runtime or Service Packs
Sometimes, the error may occur if the server does not have the necessary SSIS runtime or service packs installed. Missing service packs can cause unexpected behavior, especially when working with newer SSIS packages.
How to Resolve SSIS-950 Error
Once you have identified the potential causes, there are several strategies you can employ to resolve the SSIS-950 error. Below are step-by-step solutions that have been proven to work effectively.
1. Ensure Version Compatibility
The first and foremost step is to ensure that the SSIS package version matches the runtime environment. To check and modify the version:
- Open the SSIS project in Visual Studio (or SQL Server Data Tools).
- Right-click on the SSIS project in the Solution Explorer.
- Select Properties.
- Locate the
TargetServerVersion
property and set it to the appropriate version (e.g., SQL Server 2012, SQL Server 2016, etc.).
After setting the correct version, redeploy the package and run it again on the server.
2. Upgrade or Downgrade the SSIS Package
If the package was developed on a newer version and needs to run on an older server, consider either upgrading the server or modifying the package to be compatible with the older version. To downgrade the package:
- Export the package as a
.dtsx
file. - Open the package in a compatible SSIS version.
- Remove or modify any transformations or components not supported by the target version.
- Save and redeploy the package.
3. Update the SQL Server Integration Services Runtime
Sometimes, simply updating the SSIS runtime or installing the latest service packs can resolve compatibility issues. Check the server for any missing updates and apply them as necessary:
- Download the latest service pack for your SQL Server version.
- Install the service pack on the server where the SSIS package is executed.
- Restart the SQL Server Integration Services service.
This step ensures that all the latest features and bug fixes applied, which might resolve the SSIS-950 error.
4. Deploy the SSIS Package Using Project Deployment Model
If the package is being executed production environment, consider deploying using Project Deployment Model rather than the Package Deployment Model. The Project Deployment Model allows you to deploy the entire SSIS project to the server, which handles compatibility issues more gracefully.
- In Visual Studio, open your SSIS project.
- Right-click on the project name and select Deploy.
- Follow the wizard to deploy the project to the SQL Server Integration Services Catalog.
This approach often resolves issues caused by individual package deployment mismatches.
5. Review and Remove Unsupported Features
If you are targeting an older server version, review the SSIS package for any unsupported features. Some advanced components, such as certain data connectors, fuzzy lookups, or script tasks, may not be compatible with older SSIS versions. Remove or replace these components to ensure compatibility.
6. Rebuild the SSIS Package
In some cases, the error may be resolved by simply rebuilding the package. Open the SSIS project in Visual Studio and:
- Right-click on the project and select Rebuild.
- Save the rebuilt package.
- Deploy and execute it on the target server.
Rebuilding can refresh the project configuration and resolve minor discrepancies in version settings.
Preventing SSIS-950 Error in Future Projects
To avoid encountering the SSIS-950 error in future projects, follow these best practices:
- Set the Correct TargetServerVersion During Development: Always specify the correct
TargetServerVersion
when creating SSIS packages to prevent version mismatches. - Document Version Requirements: Maintain documentation of the SSIS version used during development and ensure that deployment servers meet these requirements.
- Test Compatibility in a Staging Environment: Before deploying to production, test your SSIS packages in a staging environment that mirrors the production server configuration.
- Use Version Control: Implement version control for SSIS packages and maintain separate branches for different SSIS versions.
Conclusion
The SSIS-950 error can be a frustrating roadblock for developers working with SQL Server Integration Services. However, by understanding its causes and applying the appropriate solutions, you can resolve the issue efficiently and prevent it from recurring. Always keep version compatibility in mind during development and deployment, and consider using the Project Deployment Model for smoother deployments. With these strategies in place, you can ensure that your SSIS packages run seamlessly across different server environments.
If you’re still facing issues or need more in-depth assistance, consider reaching out to SSIS forums or Microsoft support for specialized guidance.