Version 1.0 – April 2026
Purpose – This guide explains what the SSIS‑913 error means, why it occurs, how to diagnose it, and the steps you can take to fix and prevent it. It is written for developers, ETL architects, and DBAs who work with SQL Server Integration Services (SSIS) on SQL Server 2019 – 2022 (including Azure‑SQL Data Warehouse/Managed Instance). SSIS-913
| Practice | Why it helps | Example |
|----------|--------------|---------|
| Explicit column lists | Eliminates the “*” ambiguity, forces the designer to know exactly what will be returned. | SELECT ColA, ColB, ColC FROM dbo.FactSales |
| Avoid schema‑drift in production | If you must add/remove columns, version your packages together with the database changes (e.g., using a release pipeline). | Use a database change script that also runs a package redeploy step. |
| Enable DelayValidation on tasks that depend on data that is only available at run‑time (e.g., after a preceding Execute SQL Task creates a temp table). | The engine skips validation until after the preceding task finishes. | Set DelayValidation = True on the Data Flow task that reads a temp table. |
| Use ValidateExternalMetadata = False only when necessary | Prevents false positives but hides real issues. | Set to False on an OLE DB Source that reads a view which may be recreated by a later step. |
| Package‑level source control of metadata | Store column definitions (e.g., a JSON schema file) in source control and have the package read it at run‑time. | A Script Component that reads a schema file and configures the data flow via the Runtime API. |
| Automated metadata validation | Add a pre‑deployment PowerShell or C# script that runs dtexec /Validate against the package and fails the build if any 913 errors appear. | Invoke-Expression "dtexec /F "$PackagePath" /Validate" | SSIS‑913 Guide
Version 1
| Problem | Fix |
|---------|-----|
| Using SQLNCLI11 against a SQL 2022 instance that has TLS 1.2 mandatory. | Install the Microsoft OLE DB Driver for SQL Server (MSOLEDBSQL 18.x) and change the connection manager’s Provider to MSOLEDBSQL. |
| Mixed 32‑bit/64‑bit execution (e.g., running on a 32‑bit SSIS runtime while the driver is 64‑bit). | In the Project Properties → Debug Options, set Run64BitRuntime = True (or install the 32‑bit version of the driver). |
| Deprecated SQLNCLI driver not present on the execution machine. | Deploy the driver as part of your SSIS deployment package (use a PowerShell script to install msodbcsql & msolodbc). | Purpose – This guide explains what the SSIS‑913
/debug option) from dtExec:
dtExec /DTS "\MSDB\MyPackage" /SET "\Package.Variables[User::Debug].Value";True /CONF "DebugMode=1"
HRESULT or native OLE DB error numbers (e.g., 0x80004005).