-- Source metadata SELECT COLUMN_NAME, DATA_TYPE, CHARACTER_MAXIMUM_LENGTH FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = 'SourceTable' EXCEPT -- Destination metadata SELECT COLUMN_NAME, DATA_TYPE, CHARACTER_MAXIMUM_LENGTH FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = 'DestTable' If the EXCEPT query returns any rows, the package should fail immediately and log a "903 verification failed: schema mismatch." Inside your Data Flow Task, use Row Count Transformations . Connect a Row Count component to the output of your source, and another to the final destination (before the OLE DB Destination). Store the counts in SSIS variables: User::SourceRowCount and User::DestRowCount .
This comprehensive guide will decode the concept of "SSIS 903 verified," explore its implications for data pipeline integrity, and provide actionable steps to ensure your ETL (Extract, Transform, Load) processes meet the highest verification standards. First, it is important to clarify that "SSIS 903" is not an official Microsoft error code or a native SSIS event ID . Instead, within data engineering communities, proprietary enterprise frameworks, and custom logging mechanisms, 903 has become a shorthand reference for post-execution data verification —specifically the validation of row counts, checksums, and referential integrity after a package runs. ssis 903 verified
Notice the custom event ID —this is how the term "SSIS 903 verified" enters your logs. Step 3: Checksum Validation (The "3") For the final integrity layer, calculate a hashed checksum of a unique key column or full row hash. Use the Derived Column transformation with the expression: This comprehensive guide will decode the concept of
Dts.Events.FireInformation(903, "Verification", "Row count verified.", "", 0); Notice the custom event ID —this is how
By implementing the three verification levels—Schema (9), Row Count (0), and Checksum (3)—you transform SSIS from a simple data mover into a trustworthy data guarantee system. Whether you are a solo database administrator or part of a 50-person data engineering team, adopt the "SSIS 903 verified" mantra. Log it. Automate it. Enforce it.
EXEC [catalog].[create_custom_log_entry] @operation_id = ?, @message_type = 30, @message = 'SSIS 903 verified: Package succeeded with full data integrity.'; Then, set up alerts in SQL Server Agent or a monitoring tool like SolarWinds to trigger if a package execution does contain a "903 verified" log entry. Troubleshooting "SSIS 903 Not Verified" Errors If your validation fails, follow this diagnostic flowchart:
else