Declarative database code held as .sql files, with one file per object, which is checked for valid syntax and references against a target platform and then compiled to a .dacpac. Fabric source control stores warehouses and SQL databases in the SDK-style Microsoft.Build.Sql format, which the SQL Database Projects extension in VS Code also uses.
Also called Microsoft.Build.Sql project.
Read more: Microsoft Learn
In the Ultra Transcenders books
Each book explains SQL database project in context, with comparison tables and the common traps.
Terms in this definition
- Declarative
Describing the result wanted (as Terraform configurations and Bicep files do) and letting tooling work out the steps. Microsoft favours this over imperative scripting.
- Schema
The middle part of a Unity Catalog name (
catalog.schema.table), grouping tables, views, volumes, functions and models inside a catalog. A grant on it covers everything in it now and later, and nothing inside can be reached withoutUSE SCHEMA. - Serverless
Compute tier for single Azure SQL databases that scales automatically, pauses when idle and charges by the second. It is offered in General Purpose and Hyperscale, not Business Critical, and reserved capacity does not apply.
- DACPAC
Package capturing a database schema as a SQL data-tier application, used for example to build the target schema ahead of a migration.
- CONTROL
Granting this on a securable gives all other permissions on it too, making it the most powerful SQL permission. At database scope that includes UNMASK and ALTER ANY MASK. Warehouse access through the Admin, Member or Contributor workspace roles carries it.
- Microsoft.Build.Sql
An SDK for modern, SDK-style .sqlproj projects. Running dotnet build on Windows, Linux or macOS turns the project into a .dacpac; the VS Code SQL Database Projects extension relies on it, and it is succeeding the legacy .NET Framework format.
- FORMAT
A DAX function that turns a value into text according to a format string, for instance "MMMM" to show a month's name. Since the output is text, numeric operations can't use it, and dynamic format strings were introduced to get around that.
- VS Code
The code editor from Microsoft. Together with the .NET SDK and the SQL Server (mssql) and SQL Database Projects extensions, it can build, check and publish SDK-style database projects for warehouses.
Related terms
- SQL code analysis
Checks run against a SQL database project when it is built, flagging problems such as SELECT * (SR0001), not using SCOPE_IDENTITY (SR0008) or a cast that might lose data (SR0014). Results appear as warnings unless you choose to treat them as errors.