A Minimalistic Approach to Processing Packages with Biml
Drive SSIS processing packages, including stored procedure execution and SSAS database processing, from a tiny metadata model that scales to many tasks.
Drive SSIS processing packages, including stored procedure execution and SSAS database processing, from a tiny metadata model that scales to many tasks.
Drive root level OleDb connections and per package connection references from a metadata table so generated SSIS packages all share the same connection managers.
Drive an SSIS staging load from SAP using a metadata repository, the Theobald XtractIS source, and BimlScript that reads the SAP DD03L data dictionary.
Use BimlScript to generate one staging package per delimited flat file by reading file metadata from a SQL table.
Automate ETL pipeline generation using metadata-driven development with Biml
Understand what Biml describes, how to install it, and the five small exercises that build a working foundation for SSIS automation.
Generate SSIS packages programmatically with Biml automation
Walk through the first three exercises every Biml learner should complete: a blank package, a project connection, and a truncate-and-reload staging package.
Configure the Lookup transformation in Biml across three patterns: bare bones auto match, explicit column mapping, and routing unmatched rows to a separate output.
Build a reusable BimlScript template that loads a Type 1 slowly changing dimension with hash key change detection and set based updates.
Script the SSIS OData source and OData connection manager in Biml using CustomSsisConnection and CustomComponent elements.
Overview of the Biml Package Generator feature in BIDS Helper, what it produces, and why script-driven Biml beats hand-built SSIS for repetitive packages.
Learn the structural rules of a Biml file, including root elements, plural collections, naming conventions, illegal characters, and whitespace handling.
Comprehensive user guide for BimlStudio - the integrated development environment for Biml
Learn to automate staging layer creation across SSIS, ADF, Databricks, Snowflake, and Microsoft Fabric using BimlScript metadata-driven development.
How a metadata-driven Biml project replaces hand-built SSIS templates and keeps every package aligned with a single ETL framework.
Combine source metadata alerts, a Biml automation framework, and a simple SSIS testing harness to keep a data warehouse in sync with source systems still in development.
Drive SSIS package generation from a small metadata schema covering packages, connections, and connection types, then loop over the metadata to emit one package per row.
Build SSIS Change Data Capture initial load and incremental load packages in Biml using the SQL Server CDC components as custom tasks.
Generate an SSIS package that drops every table in a target database by looping over INFORMATION_SCHEMA until no tables remain.
Reusable BimlScript patterns for data engineering
Configure a Conditional Split transformation in Biml to route rows to multiple outputs based on expressions, with special handling for XML reserved characters.
Define ETL as relational metadata, then generate connection Biml from a stored procedure that returns connection name and connection string rows.
Extend a metadata-driven extraction package by emitting per-row containers with truncate, dataflow, and explicit source-to-target column mappings.
Generate one SSIS package per source table with BimlScript, then extend the script to apply per-table WHERE clauses from a metadata table.
Generate the Project.params file for an SSIS Project Deployment model project from Biml by writing the parameter XML directly to disk during build.
Walk through the steps of authoring a small Biml file and expanding it into an SSIS package using the Biml Package Generator in BIDS Helper.
This Walkthrough presents a very fast technique to build a simple (Truncate and Load) SSIS package by leveraging a SQL Stored Procedure and BIML.
Define tables in Biml, then use BimlScript to generate an SSIS package that runs the CREATE TABLE statements against the target database.
Define SSIS variables in Biml at different scopes and reference them from tasks and parameters within their containing scope.
Use default outputs and explicit InputPath elements to control how data flows from one component to the next in a Biml-defined SSIS dataflow.
When parallel SSIS packages from a Biml framework saturate the log writer with WRITELOG waits, enabling delayed durability on staging databases can cut total runtime in half.
Use a custom metadata table to control which packages BimlScript generates and which optional transformations they include.
Define an Execute SQL Task in Biml that calls a stored procedure and captures the procedure's RETURN value into a package variable.
Use BimlScript to loop over every table in a source database, generate matching flat file formats and connections, and build a single package that exports each table to a CSV file in parallel.
Generate SSIS packages that split a large source table into multiple flat files using OFFSET FETCH and a Biml script that calls another Biml script.
Move Sage Sotamas 90 ProvideX data into SQL Server by generating destination tables from the vendor XSD, then producing one SSIS package per table with Biml.
Generate an SSIS package in Biml that copies a SQL Server table to a delimited flat file using OleDbConnection, FlatFileFormat, and FlatFileDestination.
Generate a Biml file that extracts every base table in a SQL Server database to its own raw file by querying INFORMATION_SCHEMA with FOR XML PATH.
Use a Biml RawFileFormat plus a RawFileDestination paired with a FileConnection to extract a SQL Server table to an SSIS raw file.
Three ways to specify delimiters and text qualifiers on flat file definitions in Biml: the named enum, hex codes, and the literal character with proper encoding or escaping.
Generate an SSIS package that loops over every CSV file in a directory, imports each into a single SQL Server target table, and stores the file name with each row.
Use the BimlStudio command-line compiler to expand Biml files into SSIS packages outside the IDE so the build runs unattended on a schedule or in CI.
Use BimlScript and a small C# loop to emit one Data Profiling Task per table in a source database, producing per-table profile XML files in a single SSIS package.
Use BimlScript to read a list of source tables from system metadata and emit one extract and load package per table from a single template.
Use a single Biml file to declare a connection and an SSIS package with one or more Execute SQL Tasks, then generate the package directly from the markup.
An introduction to BimlExpress, the free Visual Studio add in for authoring Biml in SSIS projects, including installation, menus, and the code editor.
Tag every Biml managed table with an extended property and let the generation template emit a drop step for any tagged table no longer in the metadata.
Build a reusable BimlScript template that loads a hybrid Type 2 (Type 6) dimension with both historical and current attributes.
Define the FlatFileConnection, FlatFileFormat, and FlatFileSource needed to read a delimited text file in an SSIS data flow generated from Biml.
Use the TheobaldXtractSapConnection and TheobaldXtractSapSource elements to copy a single SAP table into SQL Server with one Biml file.
Build a single SSIS package from Biml using a connection, a control flow task, a data flow with a derived column, and an OLE DB destination.
Automate ETL pipeline generation by embedding C# or VB code in Biml
Use BimlScript to read worksheet names from an Excel workbook and emit one SSIS data flow per worksheet, all loading into the same target table.
Generate Biml flat file formats, connections, and matching staging tables from bcp generated XML format files using a small set of extension methods.
Use a topology sort extension method to walk foreign key dependencies and generate SSIS packages that recreate and load tables in the right order.
Extend the topology aware load pattern so independent branches run in parallel while still respecting foreign key dependencies.
Redirect failed inserts on an ADO.NET destination to a separate error table using Biml error handling configuration.
Generate a master package and a child package with Biml that share an audit run id and a child execution id through parameter bindings.
Architecture overview for a metadata driven SSIS solution that uses Biml and BimlScript to generate table load packages and a master package from a source to target mapping table.
Drive Biml table generation from a small metadata table in the target database, attach the source SELECT as an annotation, and emit the create plus load packages.
Extend the metadata layer with multiple source connections and per table column lists, then carry the source connection and column choice through annotations into the load package.
Build SSIS staging packages from a flat file using Biml, then convert hardcoded values into a metadata driven generator that reads file format and column details from a database.
Generate Derived Column and Lookup transformations inside an SSIS data flow from rows in a transformation metadata model.
Configure the OLEDB Command data flow transformation in Biml to execute a parameterized SQL statement for each input row.
Call a stored procedure with output parameters from an OLEDB Command transformation and append the return values onto the data flow buffer.
Use a T-SQL bin packing routine and a BimlScript template to assign tables to balanced parallel containers and generate the matching SSIS package.
Package editor in BimlStudio
Build SSIS package configurations, connection managers, and parent package variables in Biml when working with the package deployment model.
Package tool windows in BimlStudio
Control SSIS task execution order in Biml using package ConstraintMode and explicit PrecedenceConstraints with logical operators and evaluation values.
Build your first Biml solution in 5 minutes
Avoid runtime errors when a Biml package uses the same custom script task more than once by giving each instance a unique ProjectCoreName.
Use the Package Importer to convert an existing SSIS dtsx file into Biml when reproducing a specific task or pattern by hand is impractical.
Script Project editor in BimlStudio
Why the OLE DB Destination in fast load mode silently truncates oversized values, what row by row mode does instead, and how to plan for it in a Biml driven project.
Use LINQ OrderBy, Skip, and Take inside BimlScript to chunk a large set of source tables into evenly sized groups, each loaded by its own SSIS package.
Why BimlExpress and BI Developer Extensions do not generate SSIS project parameters out of the box, and the file safety reasons behind that decision.
Pin GUIDs on project-level connection managers so regenerated packages keep their bindings to the connection managers they were generated against.
Use the ForEachAdoLoop control-flow task to iterate over a recordset variable and run multiple SQL tasks per row, with locally scoped loop variables.
Define ODBC destinations in Biml using auto mapping, explicit column mapping, and per-column overrides.
Build a reusable BimlScript template that loads a Type 2 slowly changing dimension using set based updates and hash key change detection.
Generate hundreds of pipelines from a single template using loops, conditionals, and metadata queries
Reduce package creation time from 15 minutes to 15 seconds using variable replacement
Tag generated SSIS packages with Biml annotations and read those tags in later scripts to drive package grouping and master orchestration.
Drive multi-region SSIS deployment from a small set of metadata tables so the same source loads the same tables into per-region target databases.
Automate ETL pipeline generation with Biml - a practical guide for data engineers
An introduction to Biml and BimlScript covering what they are, why they exist, the tools that author them, the wider product ecosystem, and where Biml fits beyond SSIS.