SSIS packages (.dtsx) and project archives (.ispac) parsed structurally. Data Flows converted to BigQuery SQL with scheduled queries and Cloud Composer orchestration. Full lineage, validated parity.
Upload a package, get converted code →OLE DB Source, Derived Column, Lookup, and Aggregate transforms run on a single SSIS server with fixed memory. BigQuery's serverless engine distributes the same logic across thousands of slots. No cluster sizing, no driver management, no memory ceilings.
SSIS is tightly coupled to SQL Server via OLE DB and ADO.NET Connection Managers. BigQuery eliminates driver dependencies entirely -- data loads from GCS, Pub/Sub, or federated sources with no middleware layer to maintain.
SSISDB Catalog and SQL Agent jobs require on-premise Windows servers and manual monitoring. Cloud Composer (managed Airflow) provides DAG-based orchestration with retry, branching, alerting, and full observability -- serverless and fully managed.
A typical SSIS Data Flow with OLE DB Source, Derived Column, Lookup, and OLE DB Destination -- converted to BigQuery SQL using MERGE and scheduled queries for incremental processing.
<!-- Package: Shipment_ETL.dtsx -->
<!-- Data Flow Task: Load Shipments -->
OLE DB Source: [dbo].[STG_SHIPMENTS]
SELECT ShipmentID, WarehouseID,
Weight, ShipDate, Carrier
FROM STG_SHIPMENTS
WHERE ProcessedFlag = 0
Derived Column: [ShipCategory]
(DT_WSTR,10)(
Weight > 500 ? "Freight" :
Weight > 50 ? "Parcel" :
"Envelope"
)
Lookup: [DIM_WAREHOUSES]
JOIN ON WarehouseID = WhseID
OUTPUT: WarehouseName, Region
OLE DB Destination: [dbo].[FACT_SHIPMENTS]
INSERT INTO FACT_SHIPMENTS
(ShipmentID, WarehouseName, Region,
ShipCategory, Weight, ShipDate)
-- SSIS Data Flow → BigQuery SQL
-- MERGE replaces full Data Flow pipeline
MERGE INTO `project.dataset.fact_shipments` tgt
USING (
SELECT
s.ShipmentID,
w.WarehouseName,
w.Region,
CASE
WHEN s.Weight > 500 THEN 'Freight'
WHEN s.Weight > 50 THEN 'Parcel'
ELSE 'Envelope'
END AS ShipCategory,
s.Weight,
s.ShipDate
FROM `project.dataset.stg_shipments` s
LEFT JOIN `project.dataset.dim_warehouses` w
ON s.WarehouseID = w.WhseID
WHERE s.ProcessedFlag = 0
) src
ON tgt.ShipmentID = src.ShipmentID
WHEN MATCHED THEN UPDATE SET
tgt.WarehouseName = src.WarehouseName,
tgt.ShipCategory = src.ShipCategory,
tgt.Weight = src.Weight
WHEN NOT MATCHED THEN INSERT (
ShipmentID, WarehouseName, Region,
ShipCategory, Weight, ShipDate
) VALUES (
src.ShipmentID, src.WarehouseName,
src.Region, src.ShipCategory,
src.Weight, src.ShipDate
);
-- Scheduled query replaces SSIS scheduling
-- Cloud Composer DAG for complex orchestration
-- with retry, branching, and alerting
OLE DB Source, Derived Column, Lookup, and Destination replaced by a single BigQuery MERGE statement. Scheduled queries or Cloud Composer replace SSISDB scheduling.
| SSIS Component | BigQuery Equivalent | Notes |
|---|---|---|
| OLE DB Source | SELECT / External Table | SQL Server queries become BigQuery SQL or GCS reads |
| Derived Column | CASE WHEN / SQL expressions | SSIS expressions mapped to BigQuery SQL syntax |
| Conditional Split | CASE WHEN + filtered CTEs | Multiple outputs become branched SQL logic |
| Lookup | JOIN | Full match and no-match outputs preserved via LEFT JOIN |
| Merge Join | JOIN | Inner, left, full outer join types supported |
| Aggregate | GROUP BY with aggregates | SUM, COUNT, AVG, MIN, MAX preserved |
| Sort | ORDER BY | Multi-column sort with ASC/DESC preserved |
| OLE DB Destination | MERGE / LOAD DATA | Upserts via MERGE, bulk loads via GCS staging |
| Execute SQL Task | BigQuery Stored Procedure | T-SQL translated to BigQuery Standard SQL |
| Script Task (C#/VB.NET) | Cloud Function / Python UDF | Custom logic rewritten as Python or SQL UDFs |
| For/Foreach Loop | Cloud Composer DAG | Loop containers become Airflow task chains |
| SSISDB Catalog | Scheduled Queries / Composer | Scheduling, parameters, and monitoring modernized |
Data Matching compares SSIS package output against BigQuery output -- row by row, column by column. In the case study below, all ETL pipelines were validated against SQL Server production baselines with full regression testing.
See how Data Matching works →1,400 SSIS packages converted to BigQuery SQL. 290 Data Flow pipelines with OLE DB, Lookup, and Derived Column transforms replaced by BigQuery MERGE statements. SSISDB Catalog scheduling modernized to Cloud Composer DAGs. SQL Server and Windows infrastructure decommissioned within 90 days.
Read the full case study →Upload an SSIS package (.dtsx). Get parsed lineage, BigQuery SQL code, and a validation report.