Deploy LoadControl (Project)
Applies to
Platform: Microsoft SQL Server · Databricks · Fabric Lakehouse · Fabric Warehouse · Oracle
Deploy LoadControl (DeployLoadControl) decides whether the artifacts contain the script that creates the load-control tables and procedures. Keep it true in the project that deploys the load control, and set it to false in projects that use a load control deployed by another project.
Snowflake and the dbt generators do not offer the property.
Values
A Boolean in Project Settings:
true(default on all platforms): the artifacts deploy the load control.false: the artifacts assume that the load control exists.
Effect on generated output
On Microsoft SQL Server and Oracle, true adds LoadControl\L000_Loadcontrol_Deployment.sql and LoadControl\deploy_loadcontrol.sql, and deploy.sql calls them after the layers. The script drops and creates all load-control tables, views and procedures; on Microsoft SQL Server it also creates the load-control database and schema when they are missing. With false both files and the call are missing.
Each deployment with Deploy LoadControl set to true drops and recreates the load-control tables. Execution history and execution plans or load configurations you created manually are deleted. Set Deploy LoadControl to false after the first deployment to keep them; Configure LoadControl still registers new load objects.
On Databricks, Fabric Lakehouse and Fabric Warehouse, true adds the notebook <project>_deploy_loadcontrol.ipynb. On Databricks and Fabric Lakehouse it creates or replaces the tables named by the placeholders execution_log_table_name and deployment_log_table_name.
Share one load control between projects
Several projects can register their loaders in one load control. Only the project that deploys it recreates the tables, so deploying any other project keeps the history.
- Choose the project that deploys the load control and keep Deploy LoadControl
truethere. - In every other project, set Deploy LoadControl to
falseand keep Configure LoadControltrue. - In the replacement configuration of every project, set
loadcontrol#loadcontrol#database_nameandloadcontrol#loadcontrol#schema_nameto the same database and schema. On Oracle, set the same load-control schema and connection values. - Deploy the load-control project first, then the other projects. Each project registers its own load configuration, named after the project, and its plan
DEV_<project>.
Redeploy the load-control project only when you want to recreate the load control. The configuration of each project registers dependencies only between its own load objects; run the plans of dependent projects in their load order.
Example
The Data Vault project Datavault.Mssql deploys the load control in schema LC and has run its plan once. The Data Store project Datastore.Mssql, with Deploy LoadControl false, is then deployed into the same load control, and its plan runs:
LoadConfig LoadObjects Datavault.Mssql 103 Datastore.Mssql 99 ExecutionPlan Execution ExecutionResult DEV_Datavault.Mssql 1 Success DEV_Datastore.Mssql 2 Success
The execution of the Data Vault plan is still there after the Data Store deployment. A deployment of Datavault.Mssql with Deploy LoadControl true would delete both executions and both plans.
Related articles
- Reference: Configure LoadControl (Project), LoadControl Options (Project)
- See also: Understand Load Control, Configure Load Control, Deploy a Project in production