Ssis-927 -

A Script Component (C#) evaluates business rules expressed in a domain‑specific language (DSL) that compiles to C# expressions at runtime. Example rule:

RuleID = 101;
Expression = "Quantity > 0 && (Discount <= 0.5 || CustomerType == 'VIP')";
Severity = 'Critical';

During execution, the script parses the DSL, builds a Lambda Expression, and applies it to each data row. Violations are written to the ErrorQueue with the rule ID, enabling downstream analysts to trace root causes. SSIS-927

Each data flow engine processes rows in in‑memory buffers. A Script Component (C#) evaluates business rules expressed

| Parameter | Effect | Recommended Settings | |-----------|--------|----------------------| | DefaultBufferSize | Max bytes per buffer (default 10 MB). | Set to 10‑20 MB for high‑throughput pipelines; keep under 100 MB (SQL Server limit). | | DefaultBufferMaxRows | Max rows per buffer (default 10 000). | Adjust when row size is large (e.g., 1 KB rows → reduce rows to keep buffer < 10 MB). | | EngineThreads | Parallel execution threads (default = #CPU cores). | For I/O‑bound sources, increase to #CPU * 2. | During execution, the script parses the DSL, builds

Rule of thumb: If you see “Buffer overflow” warnings, reduce DefaultBufferMaxRows or increase DefaultBufferSize.

Rather than a monolithic package, SSIS‑927 is split into 12 logical sub‑packages, each representing a functional domain (e.g., “POS_Ingest”, “WebLog_Transform”, “Dim_Product_SCD”). The master package orchestrates execution using the Execute Package Task (EPT) with SQL Server Agent jobs as the entry point. This modular design yields: