Implement lifecycle management in Fabric
How Fabric versions and promotes a solution
A developer edits a notebook in a Fabric workspace and the change goes live the instant it is saved. Building items that way is the part you already do; what it does not do is record that the edit happened, or carry it to the workspace the finance team actually reports from. Closing those two gaps is what lifecycle management means in Microsoft Fabric, and the objective is really one skill: choosing the right mechanism for a given requirement, and knowing what each one silently leaves behind.
The pages around this one split the domain up. Workspace settings covers the container's own Spark, domain, OneLake, and Airflow configuration; security and governance covers who may read what is inside it. This page covers the items in between: how their definitions are versioned, reviewed, and promoted into production.
The unit that moves is the item definition
A workspace is the collaboration container that holds Fabric items (a notebook, a lakehouse, a pipeline, a warehouse, an eventstream). Every item has a definition, which is the serialized description of what the item is, and separately it may hold data, which is the rows it stores. Fabric lifecycle management moves definitions. It does not move data.
That single rule explains most of the behavior on this page. A deployment copies supported definitions, item relationships, parameters, and data-source metadata, and it deliberately does not copy stored data, item IDs, item URLs, permissions, or workspace settings, so paired items in the target keep the identity they already had (deployment process[1]). Git behaves the same way. If Git integration recreates an item you deleted, it rebuilds the definition under a new item ID and restores no data, which is why restoring from the workspace recycle bin (original ID plus data) and restoring from Git (new ID, definition only) are different operations that can leave you with two lookalike items (Git integration process[2]).
Two axes, plus one warehouse-specific path
Microsoft frames the platform as a set of continuous integration and continuous delivery (CI/CD) capabilities layered on the Fabric REST APIs, of which Git integration, deployment pipelines, and the Variable library form the integration and delivery layer (CI/CD in Fabric[3]). For this exam it helps to see them as two directions of travel:
- Git integration is the vertical axis. It syncs the item definitions of one workspace with one branch of one repository, so work is versioned, reviewable, and revertable.
- Deployment pipelines are the horizontal axis. They promote item definitions from the workspace in one stage, meaning one named position in an ordered release path, to the workspace in the adjacent stage, typically development to test to production. A deployment pipeline is not a Data Factory pipeline: the orchestration item covered on the orchestration page runs activities against data, while a deployment pipeline moves item definitions between workspaces.
- Database projects are the warehouse-specific path. A Fabric Data Warehouse can also be expressed as a SQL project on disk and published into a warehouse, which is how schema changes get compiled, compared, and reviewed before they are applied.
These are complementary, not alternatives. Microsoft's own recommendation is to connect the developer workspace to Git and deploy from that connected workspace with deployment pipelines. Values that have to differ per environment ride alongside both: deployment rules rewrite them on the target item as a deployment lands, and a Variable library holds the per-stage value sets that items reference.
One word collides across pages and is worth pinning down now. On the orchestration page, a parameter is an input fixed for one pipeline run. Here, a parameter is a value stored inside an item definition, which a deployment rule can rewrite as the item lands in a target stage. Same word, two different lifetimes.
Hold onto the split: source control gives you history and review, promotion gives you environments, and neither gives you data. The figure below places both axes on one picture, with the Git branch above the connected development workspace and the stage-to-stage promotion running left to right beneath it.
Connect a workspace to Git and keep it synced
Connecting, syncing, and disconnecting are Admin-only acts; day-to-day committing and updating are not. Only a workspace Admin can connect a workspace to a repository, disconnect it, or run the sync that establishes the connection; once the connection exists, Members and Contributors with the right permissions do the day-to-day committing and updating (Git integration process[2]). Getting that split wrong is the most common permissions trap on this objective.
What gets connected to what
Git integration is configured at the workspace level, not per item, and the supported providers are the cloud versions of Azure DevOps, GitHub, and GitHub Enterprise (Git integration overview[4]). One workspace connects to exactly one branch and one directory at a time. The workspace folder structure is mirrored into the repository, retained up to 10 levels deep.
Only item types on the supported list are versioned. If the workspace or the connected Git directory contains unsupported items, the connection still succeeds and those items are ignored: not saved, not synced, and not deleted. They show in the source control panel with an unsupported status and cannot be committed. Data Engineering items on the supported list include the Environment, Lakehouse, Notebook, Spark Job Definition, GraphQL API, and User Data Functions, among others, and the list also spans Data Factory, Real-Time Intelligence, Data Warehouse, Database, and Power BI item families.
Two item-specific behaviors are worth memorizing because they show up as stems. All new Dataflow Gen2 items are created with CI/CD and Git integration support by default (Dataflow Gen2 with CI/CD[5]), so the older non-CI/CD creation path is not something you choose your way out of. And an item's schedules travel with it: deploying an item automatically includes its schedules, and Git stores them in a .schedules file inside the item's definition folder (job scheduler[6], CI/CD for pipelines[7]). Items that had a schedule configured before CI/CD support arrived show as uncommitted on the first status check, so review that first commit rather than accepting it blindly.
Two permission systems, both of which must say yes
Every Git action is gated twice: once by the Fabric workspace role and once by the role in the repository. The table below is the pairing the exam tests.
| Operation | Fabric workspace role | Azure Repos permission |
|---|---|---|
| Connect, sync, or disconnect | Admin | Read (none needed to disconnect) |
| Update from Git | Contributor with write on all items | Read |
| Commit workspace changes | Contributor with write on all items | Read plus Contribute, and a branch policy that allows the direct commit |
| Switch branch or check out a new branch | Admin, or Member/Contributor with write on all items when the workspace setting allows it | Read on the target, Create branch to check out a new one |
| Branch out to another workspace | Admin, Member, or Contributor | Read plus Create branch |
The third column is Azure Repos wording. A GitHub fine-grained token expresses the same permissions through Contents access: Read for connecting, syncing, and updating, and Read and write for committing and for creating a branch. The Fabric column is identical either way.
The workspace setting named in that fourth row is Allow users with at least Contributor role to change Git branch. It is off by default, which is why branch switching is an Admin operation until someone turns it on, and even then the Member or Contributor still needs write access to every item in the workspace. Repository write access on its own never substitutes for missing item write access in Fabric.
The initial sync has a direction, and the direction destroys something
When you connect, Fabric makes the two sides match. There are three cases, and only the third asks you anything:
- The workspace has content and the branch is empty. Content copies to the branch.
- The branch has content and the workspace is empty. Content copies to the workspace.
- Both have content. You must choose a direction, and Fabric does not offer a merge. Committing exports all supported workspace content over the current branch content. Updating replaces the workspace content with the branch state.
The asymmetry between those two choices is the point. A Git branch can always be restored to an earlier commit, so overwriting the branch is recoverable. A workspace has no equivalent history, so overwriting the workspace loses that state permanently, and Fabric asks you to confirm before it does. Until you pick a direction you cannot continue working in the workspace. The figure below traces that decision.
Commit, update, and conflict
After the initial sync, three behaviors matter:
- Commit is selective. When several items changed, you choose which ones to commit.
- Update is not selective. Unlike commit and undo, Update from Git always takes the entire connected branch and syncs the workspace to its most recent commit. There is no per-item update.
- A same-item change on both sides is a conflict, and it blocks the update until you resolve it. Resolve it by choosing which version to keep in the source control panel, by resolving it in Git, or by checking out a new branch from the last synced commit, carrying the workspace state onto that branch, and merging back through your normal pull request process (conflict resolution[8]).
A related trap sits in the folder rules. If the workspace has folders that the connected Git directory does not yet have, the two are considered different and you get an uncommitted-changes status. Commit before you update, because updating first lets the Git folder structure overwrite the workspace structure.
Fabric synchronization is always a replace in one direction. If two divergent states must both survive, Git does the combining and the workspace is updated from the result.
Branch out, check out, and switch branch
You are the second developer joining a workspace that is already connected to Git, and you need somewhere to work that does not disturb the first developer's live items. Three commands in the Branches tab sound like they might give you that, and only one does. They differ on two questions: which workspace ends up changed, and whether the workspace content changes with it.
| Command | Which workspace it affects | Effect on workspace content | Who can run it |
|---|---|---|---|
| Branch out to another workspace | A different, branched workspace (new or reused) | The current workspace is untouched; the branched workspace gets the branch content | Admin, Member, or Contributor |
| Checkout new branch | The current workspace | Content is unchanged; only the Git connection is repointed | Admin, or Contributor with write on all items when the branch-change setting is on |
| Switch branch | The current workspace | Every item is overridden with the selected branch's content | Admin, or Contributor with write on all items when the branch-change setting is on |
Why branch out is the isolation answer
A workspace is a shared runtime. Everyone with access sees the same live items, and a change one developer saves is immediately visible to the rest. There is no per-user view of a workspace, so a workspace cannot be connected to several branches at once to give each developer their own version of reality. When the requirement says a developer needs to work without disturbing others, the answer is a separate workspace, and Branch out to another workspace is the command that creates one, or reuses an existing branched workspace, connected to a new branch based on the source workspace's last commit (branched workspace[9]).
Checkout new branch creates a branch from the current workspace's last synced commit and repoints the current workspace at it, without changing what the workspace contains. That is the right move when you cannot commit to the connected branch directly because of a branch policy: check out, commit your workspace state there, then merge through a pull request. It is the wrong move when the requirement was to leave the shared workspace connected where it was.
Switch branch synchronizes the current workspace with a different branch and overrides all its items with that branch's content. It is a replace, not a merge, but uncommitted workspace changes block the switch. Commit first, or branch out instead.
The Related branches list in the same tab is a convenience rather than a fourth operation: it lists branched workspaces and workspaces sharing the same organization, project, repository, and directory, so you can navigate between them without hunting through the workspace list.
The distinction to carry into the exam is that only Branch out produces a second runtime. The other two commands rearrange the connection of the runtime you are already standing in.
Database projects for Fabric Data Warehouse
Warehouse schema deserves the same review a code change gets, and a database project is how you get it. A database project is a folder of .sql files, one per object, that compiles into a single artifact describing the whole schema; publishing that artifact makes a target warehouse match it. Fabric Git integration already represents a warehouse this way, storing its schema objects as individual SQL files, so the project format and the versioned format are the same format (development and deployment[10]).
Setting the project up correctly
The setup has three choices that are each a plausible distractor if you get them wrong. Working in Visual Studio Code, install the SQL Database Projects and SQL Server (mssql) extensions plus the .NET SDK, then create the project with:
- Database project type SQL Server Database.
- Target platform Synapse Data Warehouse in Microsoft Fabric. Not Azure SQL Database, not SQL Server.
- SDK-style project, which is the modern project format built on the
Microsoft.Build.SqlSDK. Only SDK-style projects are supported for Fabric Data Warehouse (develop warehouse projects[11]).
You can start from an empty project or from the warehouse you already have. Create Project From Database connects through a warehouse connection profile, whose server name comes from the warehouse's SQL endpoint and takes the form <server unique ID>.datawarehouse.fabric.microsoft.com, and extracts the schema objects into project files. The recommended folder structure is Schema/Object Type, which produces a tree of schemas each holding Functions, Tables, and Views. The extraction pulls object definitions only. It never pulls rows.
Build compiles, publish applies
The two actions are easy to conflate and the exam separates them deliberately.
Build validates every new and modified object definition and compiles them into a .dacpac file (a data-tier application package) under the project's bin folder. Nothing in Fabric changes. Project edits stay local until you publish.
Publish uses DacFx, the Data-Tier Application Framework, to compare the compiled project against the target warehouse, generate the change script that would make the target match, and run it. At the publish prompt you choose an action:
- Generate Script produces the T-SQL for review and applies nothing. This is the answer whenever a stem says a change must be inspected, approved, or reviewed before the target is touched.
- Publish writes the changes to the target warehouse.
Afterwards you can save the options you used into a publish profile (.publish.xml) and reuse it. Keeping one profile per target warehouse is how a single project serves separate development, test, and production warehouses. The figure below follows the whole path from an existing warehouse back into a warehouse.
Two deployment settings that decide whether data survives
Both of these appear in publish options and both are worth memorizing with their recommended values:
| Setting | What it does | Recommended use |
|---|---|---|
BlockOnPossibleDataLoss | Stops the deployment when a proposed change risks losing data, such as dropping a populated column or table | Keep True in production; set False only in controlled dev or test environments |
DropObjectsNotInSource | Drops objects present in the target but absent from the project | Use for dev or test cleanup; in production it can delete important objects and their data |
Read them together and the intent is clear. BlockOnPossibleDataLoss protects you from your own schema change, while DropObjectsNotInSource makes the project authoritative over everything the target contains. Leave the first one set to True. Turn the second one on only where nothing in the target is worth keeping.
Create and configure deployment pipelines
Two structural decisions in a Fabric deployment pipeline are permanent, and both are made in the creation dialog: how many stages the pipeline has and what each stage is called. Neither can be changed afterwards. Whether a stage is public can be changed at any time, which is the one structural property that stays editable (deployment process[1]). A stem describing a two-stage pipeline that now needs a production stage is describing a new pipeline, not a modification.
Getting a workspace into a stage
Content enters a pipeline in one of two ways: you assign an existing workspace to an empty stage, or you deploy into the stage from the neighbouring one. Assignment has a longer checklist in the documentation, and five of its conditions account for most of the distractors (assign a workspace[12]):
- You are an Admin of the workspace being assigned.
- The workspace resides on a Fabric capacity.
- The workspace is not already assigned to any other deployment pipeline.
- The target stage is vacant. To replace an assigned workspace, unassign the current one first.
- You hold at least Contributor on the workspaces in the adjacent stages.
Unassigning is not free: it discards that stage's deployment history and its configured rules. And a workspace assigned to a pipeline cannot be deleted from workspace settings until it is unassigned.
Pairing is what makes a deploy an update
An item in one stage gets associated with the same item in the adjacent stage, and that association is called pairing. It is the mechanism that decides whether a deployment overwrites or duplicates. When a workspace is assigned to a stage, Fabric attempts to pair items using three criteria in order: item name, item type, and folder location as the tie breaker when a stage holds more than one item of the same name and type. If a single item in each stage matches on name and type, pairing occurs. If duplicates exist and their folders do not match, pairing fails.
From there the deployment outcome follows mechanically:
- Paired item. The target item's content is overwritten while its own ID, URL, and permissions stay unchanged.
- Unpaired item. The deployment performs a clean deploy: it copies the source item into the target and pairs the new copy to its source. A same-named, same-typed item that was created directly in the target is not overwritten just because it looks identical, so you can end up with two lookalike items on separate lines of the pipeline view.
- Renamed item. Renaming does not unpair. Once paired, the association persists, so a later deployment still updates the same target even though the names now differ.
Since folders count as part of an item's name, moving an item between folders in the source shows up as a Different comparison and the paired target item is moved to the matching folder on the next deployment, creating that folder in the target if it does not exist.
Direction, selectivity, and dependencies
Deployments run between adjacent stages only. Forward, you can deploy all supported content or a selected subset (deploy content[13]). Backward, into the adjacent previous stage, is supported only while that stage is empty. Reaching a non-adjacent stage means running the deployment through the stage in between, never as one hop. A single deployment carries at most 300 items.
Dependencies are resolved by autobinding. When a deployed item depends on another supported Fabric item, the pipeline connects it to the corresponding item in the target stage. If that provider item is neither being deployed nor already present in the target, the deployment fails, which is what the Select related button exists to prevent: it adds the items that provide the dependencies to your selection. Deployments also fail on circular or self-referencing dependencies. The figure below traces both checks in the order the pipeline applies them.
Who can deploy
Pipeline permissions and workspace permissions are granted separately. A pipeline has exactly one permission level, Admin, needed for every pipeline operation including sharing, editing, and deleting. To actually deploy you need to be a pipeline Admin and at least a Contributor in both the source and target workspaces. Being a pipeline Admin alone lets you see and share the pipeline while seeing none of its content.
Before predicting what a deployment will do, settle two questions: are the items paired, and are the required dependencies already in the target. Almost every other behavior in this section follows from those two answers.
Rebinding connections after a deployment
A production workspace should not read from the development lakehouse, and a test dataflow should not authenticate with production credentials. Deployment copies definitions faithfully, so without intervention a promoted item keeps pointing wherever its definition said it pointed. Fabric offers three ways to fix that, and they apply at different moments.
The three mechanisms, and when each one runs
Deployment rules run automatically as part of a deployment, changing configuration on the item in the target stage after the copy lands. Rules are configured per stage on the target item, and the supported kinds are data source rules and parameter rules (deployment rules[14]). Parameter rules used for rebinding must be of type Text. You need to be a pipeline Admin, a Contributor or higher in the target workspace, and the owner of the item you are setting the rule on.
A Variable library is configuration as code that lives in the workspace as its own item and holds per-stage value sets. Items reference a variable instead of hard-coding a lakehouse ID, a connection, or a query fragment, and the release stage decides which value the reference resolves to (Variable library[15]). Where a deployment rule patches one item at the moment of one deployment, a Variable library centralizes the value so many items across many workspaces resolve it the same way.
Manual configuration in the target is what remains for the things Fabric refuses to copy. Data source credentials are never copied, and the gateway associated with a target item is not automatically mapped to its data source after the first deployment. You configure that mapping on the target item's settings page and confirm a refresh succeeds. Subsequent deployments do not reset it.
The rebinding cases the exam singles out
Most semantic models autobind to the paired item in the target stage. Direct Lake semantic models do not. Direct Lake is the mode in which a semantic model takes a lakehouse or warehouse as its source item, which is exactly why the binding to that source matters here: deploy a lakehouse and its Direct Lake semantic model together and the target-stage model still binds to the lakehouse in the source stage. A datasource rule is the fix, and it is the only fix inside the pipeline; there is no setting that makes Direct Lake autobind. Connections controlled by a parameter also suppress autobinding, so those are rebound by changing the parameter value or by a parameter rule.
Eventstreams have their own version of the problem. After importing or deploying an eventstream whose destination is an eventhouse in Direct Ingestion mode into a different workspace, the connection can need manual reconfiguration (Real-Time Intelligence CI/CD[16]). Referencing the connection through a Variable library is what reduces that manual work across workspaces.
One more class of item property never travels: semantic model role assignments, refresh schedules for semantic models, data source credentials, query caching settings, and endorsement settings all stay as they were in the target. So does everything at workspace level, including permissions and workspace settings.
Identity and secrets belong to the environment; structure belongs to the definition. Anything environment-shaped is either rewritten by a deployment rule, resolved from a Variable library, or set by hand in the target, and the exam expects you to name which of the three applies.
Automate lifecycle operations with the Fabric APIs
Everything the portal does, the APIs do, because the whole CI/CD platform is built on the Fabric REST APIs. That is the sentence to hold onto when a stem asks how to make a release run from Azure DevOps or GitHub Actions rather than from a button.
The deployment pipeline REST APIs cover creating, updating, and deleting pipelines, listing stages and their items, managing role assignments, assigning and unassigning workspaces, and deploying stage content (pipeline automation[17]). Two details on the deploy call matter:
- Deploy Stage Content deploys everything unless you name items. Pass a specific item list for a selective deployment; pass none and all supported items in the stage are deployed.
- Deployment is a long-running operation. When the call returns 202 Accepted, the deployment is still in progress, so automation polls Get Operation State to learn whether it completed, and reads Get Operation Result for the extended outcome, which stays available for 24 hours after completion (long-running operations[18]). Treating the accepted call as a finished deployment is the classic automation bug this objective tests.
Authentication can be a user principal or a service principal, which is what lets an unattended runner deploy without a signed-in user. Note the current gaps rather than assuming parity with the portal: dataflows are not supported by the Fabric deployment pipeline APIs, and the allowPurgeData, allowTakeOver, and allowSkipTilesWithMissingPrerequisites options exist only in the Power BI pipeline APIs.
Beyond the pipeline APIs, three tools appear in the Fabric CI/CD documentation and are worth recognizing by name and purpose (CI/CD in Fabric[3]):
| Tool | What it is | Typical use |
|---|---|---|
Fabric CLI (fab) | An open-source command-line tool with a filesystem-like interface over Fabric | Scripting Git sync, deployment, and item management inside GitHub Actions or Azure Pipelines |
| fabric-cicd | A Python library for deploying item definitions from a source-controlled repository | Described by Microsoft as the most widely adopted deployment tool for Fabric CI/CD |
| Terraform provider for Fabric | Infrastructure as code for Fabric resources | Provisioning workspaces and capacities |
Git operations are automatable too: commit, update, and branch operations are exposed through the Fabric REST APIs, and service principal support with the Azure DevOps provider lets a continuous integration job update an integration workspace from Git without a user account.
Automate the release with the pipeline APIs, automate the source-control side with the Git APIs or the Fabric CLI, and poll the operation state rather than trusting the initial response.
Exam-pattern recognition
The questions on this objective tend to describe a situation and ask for the one operation that satisfies it. Reading them well is mostly a matter of spotting which mechanism the constraint belongs to. This section collects the recurring stems with the reasoning that picks the answer.
Stems about permissions
A Contributor with write access to the repository cannot connect the workspace to Git.
The answer is a workspace Admin performs the connection. Repository rights never substitute for the Fabric role, and connect, disconnect, and the initial sync are Admin-only. The mirror-image stem, where someone holds Admin in Fabric but the commit still fails, points at the repository side: committing needs Read plus Contribute and a branch policy that permits a direct commit.
Contributors must be able to switch branches.
Enable the workspace setting Allow users with at least Contributor role to change Git branch, and make sure the user has write access to every item in the workspace. Partial item access defeats the setting.
Stems about isolation and merging
A developer needs to work without affecting others in the shared workspace.
Branch out to another workspace. Distractors offer Checkout new branch (repoints the shared workspace, no isolation) and connecting a second branch to the same workspace (impossible: one workspace, one branch).
Both the workspace and the branch already have content, and nothing should be lost.
No Fabric operation merges. Commit exports the workspace over the branch; update replaces the workspace. If the stem insists both states survive, the path is to commit or check out a branch carrying the workspace state, then reconcile in Git through a pull request.
Only one item needs to come back from Git.
There is no selective update. Update from Git takes the entire branch at its latest commit. Selective granularity exists for commit and undo only.
Stems about deployment behavior
A production stage must be added to an existing two-stage pipeline.
Not possible. Stage count and names are fixed at creation. Create a new pipeline.
After deploying, the production warehouse has no rows, or the production report cannot be seen by the same users.
Expected. Data, permissions, workspace settings, IDs, and URLs are not copied. Load or refresh the data in the target and grant workspace roles there.
An identical report already exists in test but the deployment created a second copy.
The target item was never paired. Items pair when a workspace is assigned to a stage (by name, type, and folder as tie breaker) or when a clean deploy creates the copy. An item added directly to the target workspace afterwards is not paired to its lookalike.
The deployment fails, reporting a dependency.
The provider item is neither in the target stage nor part of the selection. Use Select related to include it, or deploy the provider first.
The Direct Lake semantic model in production still reads the development lakehouse.
Direct Lake models do not autobind. Configure a datasource rule on the target stage item. Answers proposing that a redeploy, a rename, or a refresh will fix it are wrong.
Stems about database projects
The team must review the T-SQL before any change reaches the warehouse.
Generate Script. Build only validates and produces a dacpac; Publish applies changes immediately.
Deploying to production must never silently drop a populated column.
Keep BlockOnPossibleDataLoss set to True. The companion trap offers DropObjectsNotInSource as a way to protect target-only objects, which is exactly backwards: it deletes them.
A project must be created for an existing Fabric warehouse.
Create Project From Database against the warehouse's SQL endpoint, as an SDK-style project targeting Synapse Data Warehouse in Microsoft Fabric. Legacy non-SDK projects and Azure SQL Database target platforms are the distractors.
The habit that answers most of them
Before choosing, ask three questions in order. Which axis is this, source control or promotion? Is the operation selective or whole-scope? And does the requirement concern a definition, which travels, or an environment property such as data, credentials, identity, or permissions, which does not? Those three sort almost every option list on this objective into one right answer and three wrong ones.
Fabric lifecycle mechanisms compared
| Lifecycle concern | Git integration | Deployment pipelines | Database projects |
|---|---|---|---|
| What it moves | Item definitions between one workspace and one Git branch | Item definitions between workspaces in adjacent stages | Warehouse schema objects between a local project and one warehouse |
| Granularity | Commit selects items; Update always takes the whole branch | Deploy all supported content or a selected subset | Publish applies the whole compiled project as a schema difference |
| Who can start it | Admin connects, disconnects, and syncs; Member or Contributor with write access to all items commits and updates | Pipeline admin who is also Contributor or higher on both stage workspaces | A user with Contributor or higher on the warehouse, from Visual Studio Code |
| Per-environment configuration | Branch content is identical everywhere; values come from a Variable library | Deployment rules and Variable library value sets applied to the target after the copy | A separate publish profile saved per target warehouse |
| Review before change | Pull request on the branch | Compare stages before deploying | Generate Script to inspect the T-SQL |
| What it never carries | Stored data, and the original ID of a recreated item | Data, IDs, URLs, permissions, workspace settings, and credentials | Row data, because only schema objects are versioned |
Decision tree
Sharp facts the exam loves — give these one last read before exam day.
Cheat sheet
Sharp facts the exam loves — scan these before test day.
- A workspace Admin controls the Git repository connection
Only a workspace Admin can connect, disconnect, or perform the initial synchronization between a Fabric workspace and a Git repository. After connection, Members and Contributors with the required item and repository permissions can commit workspace changes and update from Git.
Trap Give a Contributor repository write access and expect that user to connect an unconnected workspace to Git.
5 questions test this
- Wide World Importers has a Microsoft Fabric workspace named WS-Audit whose workspace Admin connected it to a branch in an Azure Repos repository. An internal auditor must review how closely the items
- You have a Microsoft Fabric workspace named Workspace1 that contains notebooks and data pipelines and is not connected to source control. A data engineer named User1 has the Contributor role in Worksp
- You have a Microsoft Fabric workspace named Workspace1 that a workspace Admin has already connected to a branch in Azure Repos. Three data engineers hold the Contributor role in Workspace1, have write
- Litware, Inc. has a Microsoft Fabric workspace named Workspace1 that is connected to a branch in Azure Repos. Two platform leads must be the only people who can connect Workspace1 to a repository, dis
- Adventure Works has a Microsoft Fabric workspace named WS-Dev that is connected to a branch in an Azure Repos repository. Six data engineers hold the Contributor role in WS-Dev and have write permissi
- Git operations require matching permissions in Fabric and the repository
Updating a workspace requires workspace Contributor access with write permission to all items plus repository read access. Committing also requires repository write or contribute permission and a branch policy that permits the direct commit.
Trap Grant repository write access alone and expect it to bypass missing write permission on workspace items.
6 questions test this
- You have a Microsoft Fabric workspace named Workspace1 that a workspace Admin connected to the main branch of an Azure Repos repository, and the main branch policy permits direct commits. A new data e
- You have a Microsoft Fabric workspace named Workspace1 that is connected to the main branch of an Azure Repos repository. A data engineer named User1 has the Contributor role in Workspace1, write perm
- You have a Microsoft Fabric workspace named Workspace1 that a workspace Admin has already connected to a branch in Azure Repos. Three data engineers hold the Contributor role in Workspace1, have write
- Litware, Inc. has a Microsoft Fabric workspace named Workspace1 that is connected to a branch in Azure Repos. Two platform leads must be the only people who can connect Workspace1 to a repository, dis
- Northwind Traders has a Microsoft Fabric workspace named WS-Main that is connected to the main branch of an Azure Repos repository named Repo1. Four data engineers hold the Contributor role in WS-Main
- You have a Microsoft Fabric workspace named Workspace1 that is connected to a branch in Azure Repos and contains 40 items. A data engineer named User1 has Read=Allow and Contribute=Allow on the reposi
- The chosen initial Git sync direction overwrites the other populated side
If both a workspace and its selected Git branch contain content at connection time, the user must choose a direction. Committing exports supported workspace content over the branch, while updating replaces workspace content with the branch state; unlike Git, the overwritten workspace state has no native commit history to restore.
Trap Select Update from Git to merge both populated locations automatically without replacing workspace content.
4 questions test this
- You have a Microsoft Fabric workspace named Workspace1 that is connected to a branch in Azure Repos. One notebook was changed in both Workspace1 and the branch, so its Git status is Conflict and the C
- Contoso, Ltd. has a Microsoft Fabric workspace named Workspace1 that contains data pipelines and notebooks. A workspace Admin connects Workspace1 to a branch in Azure Repos that also contains items. T
- You have a Microsoft Fabric workspace named Workspace1 that contains 30 notebooks and data pipelines that your team built over the last quarter. A workspace Admin connects Workspace1 to a branch in Az
- You have a Microsoft Fabric workspace named Workspace1 that contains eight notebooks that a colleague built last week and never exported anywhere. A workspace Admin connects Workspace1 to a branch in
- Fabric Git integration versions supported item definitions, not every workspace asset
Git synchronization processes only item types supported by Fabric Git integration and ignores unsupported items in the connected folder. Recreating a deleted item through Git restores its definition with a new item ID and does not restore the item's data.
Trap Use Update from Git as a data backup that restores both an item's original ID and stored data.
6 questions test this
- You have a Microsoft Fabric workspace named Workspace1 that is connected to a branch in Azure Repos. A data engineer deletes a notebook named Notebook1 from Workspace1 by mistake and does not commit t
- You have a Microsoft Fabric workspace named Workspace1 that contains notebooks, data pipelines, a lakehouse, and several items whose types Fabric Git integration does not support. A workspace Admin pl
- You have a Microsoft Fabric workspace named Workspace1 that is connected to a branch in Azure Repos. This morning a data engineer deleted a warehouse item from Workspace1 that contained loaded tables,
- You have a Microsoft Fabric workspace named Workspace1 that contains a lakehouse named Lakehouse1. Lakehouse1 holds several terabytes of Delta tables, a set of OneLake shortcuts in the Tables section,
- Contoso, Ltd. plans to put a Microsoft Fabric workspace under source control by using Fabric Git integration. The workspace contains notebooks, data pipelines, and a lakehouse whose Delta tables hold
- You have a Microsoft Fabric workspace named Workspace1 that is connected to a branch in Azure Repos. A data engineer deletes a notebook, another engineer runs Update from Git, and a third engineer res
- New Dataflow Gen2 items include CI/CD and Git support by default
Since April 2026, Fabric creates all new Dataflow Gen2 items with CI/CD and Git integration support; the former non-CI/CD creation option is unavailable. Existing classic items continue to run and can be converted with Save As when lifecycle support is needed.
Trap Create a new Dataflow Gen2 Classic item to avoid all Git and deployment-pipeline metadata.
3 questions test this
- Litware, Inc. has a Microsoft Fabric workspace named Workspace1 that is connected to a branch in an Azure Repos repository. Workspace1 contains a Dataflow Gen2 that a colleague built before CI/CD supp
- Contoso, Ltd. has a Microsoft Fabric workspace named Workspace1 that a workspace Admin connected to a branch in an Azure Repos repository. A data engineer must build a new low-code Power Query transfo
- Tailwind Traders runs a nightly load in which a dataflow built in 2025, without CI/CD and Git integration support, refreshes a lakehouse table that a finance report reads. That dataflow sits in a Micr
- Update from Git synchronizes the entire connected branch
Unlike commit and undo, Update from Git cannot target selected items. It updates the whole connected branch into the workspace at the branch's most recent commit.
4 questions test this
- Fabrikam, Inc. has a Microsoft Fabric workspace named Workspace1 that is connected to a branch in an Azure Repos repository. A data engineer saved changes to two notebooks in Workspace1 this morning a
- Adventure Works has a Microsoft Fabric workspace named Workspace1 that serves a production reporting load and is connected to a branch named release in an Azure Repos repository. Engineers merge both
- Tailwind Traders has a Microsoft Fabric workspace named Workspace1 that is connected to a branch in an Azure Repos repository. Since Workspace1 was last synced, three separate commits were pushed to t
- Proseware, Inc. has a Microsoft Fabric workspace named Workspace1 that is connected to a branch in an Azure Repos repository. A data engineer changed four items in Workspace1 and now wants to abandon
- A Fabric workspace is a shared runtime connected to one Git branch
All workspace users see changes made directly in the shared runtime, and one workspace can connect to only one branch at a time. Use a separate branched workspace per developer when changes require runtime isolation.
Trap Connect several developer branches simultaneously to one workspace to isolate each developer's runtime changes.
7 questions test this
- Ivy Health Analytics has a Microsoft Fabric workspace named WS-Birch that is connected to a branch named main in an Azure DevOps repository and is used by an eight-person data engineering team. Two en
- Relecloud has a Microsoft Fabric workspace named WS-Harbor that is connected to a branch named main in an Azure Repos repository. Five data engineers hold the Contributor role in WS-Harbor and work in
- Tailspin Toys has a Microsoft Fabric workspace named WS-Aster that is connected to the main branch of an Azure Repos repository and is shared by five data engineers. A new engineer must rewrite a note
- Lakeshore Retail has a Microsoft Fabric workspace named WS-Amber that is connected to a branch named main in an Azure Repos repository. Six data engineers hold the Contributor role in WS-Amber and bui
- Northbrook Foods has a Microsoft Fabric workspace named WS-Coral that is connected to a branch named team-dev in an Azure Repos repository. Four data engineers hold the Contributor role in WS-Coral an
- Contoso, Ltd. has one Microsoft Fabric workspace that is shared by a data engineering team and a reporting team. The two teams keep different release cadences, store their source code in different Azu
- Contoso, Ltd. has a Microsoft Fabric workspace named WS-Dev that is connected to the main branch of an Azure DevOps repository. Four data engineers author notebooks and pipelines directly in WS-Dev th
- Switching Git branches replaces workspace items with the target branch state
Switch branch synchronizes the workspace to the selected branch and overrides its items with that branch's content. It is not an additive merge and should not be used to preserve uncommitted workspace-only changes.
Trap Switch branches to merge target-branch definitions with uncommitted items already in the workspace.
5 questions test this
- Litware, Inc. has a Microsoft Fabric workspace named WS-Dev that is connected to a branch named feature-b in an Azure DevOps repository. WS-Dev contains a notebook named NB1 and a data pipeline named
- Contoso, Ltd. has a Microsoft Fabric workspace named WS-Build that is connected to a branch named feature-c in an Azure DevOps repository. Every change is committed, so the workspace is fully synced.
- Lamna Healthcare has a Microsoft Fabric workspace named WS-Iris that is connected to an Azure Repos branch named feature-labs. WS-Iris contains a lakehouse named LH-Labs that holds forty loaded Delta
- Litware, Inc. deploys Fabric content to production directly from Git rather than with a deployment pipeline. A workspace named WS-Prod is connected to a release branch named release-2026-07 and is ful
- A data engineer works in a Microsoft Fabric workspace named WS-Conflict that was connected to a branch named feature-d. To resolve a conflict on a semantic model, the engineer checked out a new branch
- Contributors can change branches only when the workspace setting permits it
Branch switching and checkout require Admin by default. When an Admin enables Allow users with at least Contributor role to change Git branch, a Member or Contributor with write access to every workspace item can also switch or check out a branch.
Trap Grant a Contributor read access to only some workspace items and enable the setting to authorize branch switching.
6 questions test this
- Contoso, Ltd. has a Microsoft Fabric workspace named WS-Dev that is connected to a branch named main in an Azure DevOps repository. Four data engineers hold the Contributor role in WS-Dev and have wri
- Contoso, Ltd. has a Microsoft Fabric workspace named WS-Data that is connected to an Azure DevOps repository and contains twelve items. A workspace admin has enabled the setting Allow users with at le
- Contoso, Ltd. has a Microsoft Fabric workspace named WS-Dev that is connected to a branch named main in an Azure DevOps repository. Four data engineers hold the Contributor role in WS-Dev and have wri
- Southridge Video has a Microsoft Fabric workspace named WS-Nova that is connected to a GitHub repository. A workspace admin enabled the setting Allow users with at least Contributor role to change Git
- Wingtip Surveys has a Microsoft Fabric workspace named WS-Ivory that is connected to a branch named main in an Azure Repos repository. A data engineer holds the Contributor role in WS-Ivory and the Co
- VanArsdel has a Microsoft Fabric workspace named WS-Onyx that is connected to an Azure Repos branch named main. A workspace admin enabled the setting Allow users with at least Contributor role to chan
- A same-item workspace and Git conflict blocks update until resolution
When the same item changed in both the workspace and the connected branch, Fabric blocks synchronization until the conflict is resolved. Select which version to keep in the UI, resolve the conflict in Git, or check out a new branch from the last synchronized commit and carry the workspace state there before using the normal pull-request process.
Trap Run Update to let Fabric automatically combine conflicting definitions of the same item.
7 questions test this
- Harbor Point Utilities has a Microsoft Fabric workspace named WS-Hazel that is connected to a branch named release-6 in an Azure Repos repository. A semantic model in WS-Hazel was changed in the works
- Perch Logistics has a Microsoft Fabric workspace named WS-Flint that is connected to a branch named main in an Azure Repos repository. A data engineer changed a notebook named NB-Route in WS-Flint thi
- Lucerne Publishing has a Microsoft Fabric workspace named WS-Quill that is connected to an Azure Repos branch named main. A data pipeline was changed in WS-Quill and in main on the same day, so the it
- Harbor Point Utilities has a Microsoft Fabric workspace named WS-Hazel that is connected to a branch named release-6 in an Azure Repos repository. A semantic model in WS-Hazel was changed in the works
- Willow Creek Media has a Microsoft Fabric workspace named WS-Ember that is connected to a branch named main in an Azure Repos repository. A data pipeline named PL-Refine was changed in WS-Ember, and a
- Wide World Importers has a Microsoft Fabric workspace named WS-Nightly that was connected to a branch named release-a in an Azure Repos repository. A conflict on a data pipeline blocked updates, and t
- Adatum Corporation has a Microsoft Fabric workspace named WS-Slate that is connected to an Azure Repos branch named feature-risk. A KQL queryset was edited in WS-Slate and in feature-risk on the same
- Checkout changes the current connection while branch-out creates an isolated workspace
Checkout new branch creates a branch from the current workspace's last synchronized commit and reconnects the current workspace without changing its content. Branch out creates or reuses a different branched workspace connected to a new branch, which is the appropriate option for an isolated development runtime.
Trap Use checkout new branch when the requirement is to preserve the shared workspace and create a separate developer runtime.
7 questions test this
- Harbor Point Utilities has a Microsoft Fabric workspace named WS-Hazel that is connected to a branch named release-6 in an Azure Repos repository. A semantic model in WS-Hazel was changed in the works
- Granite Bay Analytics has a Microsoft Fabric workspace named WS-Lark that is shared by a data engineering team and is connected to a branch named main in an Azure Repos repository. A data engineer alr
- Rosewood Grocers has a Microsoft Fabric workspace named WS-Perch that is connected to a branch named main in an Azure Repos repository. An admin organized the workspace items into subfolders, and the
- Harbor Point Utilities has a Microsoft Fabric workspace named WS-Hazel that is connected to a branch named release-6 in an Azure Repos repository. A semantic model in WS-Hazel was changed in the works
- Lakeshore Retail has a Microsoft Fabric workspace named WS-Amber that is connected to a branch named main in an Azure Repos repository. Six data engineers hold the Contributor role in WS-Amber and bui
- Contoso, Ltd. has a Microsoft Fabric workspace named WS-Load that is connected to the main branch of an Azure Repos repository. A data engineer already owns a second workspace named WS-Sandbox that wa
- Litware, Inc. has a Microsoft Fabric workspace named WS-Pipe that is connected to a branch in an Azure Repos repository. A workspace Admin has saved but not committed changes to three notebooks in WS-
- Fabric warehouse database projects must use the SDK-style format
For a Fabric Data Warehouse project in Visual Studio Code, select the Synapse Data Warehouse in Microsoft Fabric target platform and use an SDK-style SQL project. The workflow requires the SQL Database Projects and SQL Server extensions plus the .NET SDK.
Trap Create a legacy non-SDK SQL project and target an Azure SQL Database platform for a Fabric warehouse.
6 questions test this
- Northwind Traders is onboarding four data engineers who will develop the schema of a Microsoft Fabric warehouse named CoreDW as a database project. Each workstation image already includes Visual Studi
- You have a Microsoft Fabric workspace that contains a warehouse named OpsDW. A database project for OpsDW has been in development for two weeks and contains hand-written scripts and several object def
- You have a Microsoft Fabric workspace that contains a warehouse named RetailDW. A new team member installs Visual Studio Code together with the SQL Database Projects and SQL Server (mssql) extensions,
- Fabrikam, Inc. has a warehouse named MartDW in a Microsoft Fabric workspace. The team inherits an existing SQL project that was written for an Azure SQL Database and that uses the original MSBuild-bas
- Contoso, Ltd. has a Microsoft Fabric workspace named WorkspaceA that contains a warehouse named SalesDW. The data engineering team must move schema development for SalesDW out of the Fabric portal and
- You are a data engineer at Litware, Inc. Your Microsoft Fabric workspace contains a warehouse named FinanceDW. You are creating a new database project for FinanceDW in Visual Studio Code, and you alre
- A database project can extract an existing warehouse into object definitions
Create Project From Database connects to the warehouse SQL endpoint and extracts schema objects into project files, commonly organized by schema and object type. Fabric Git integration likewise represents a warehouse as a database project with individual SQL files for its schema objects.
Trap Export warehouse table data into Git because database-project extraction versions both schema and row contents.
4 questions test this
- You have a Microsoft Fabric workspace that contains a warehouse named SupplyDW. SupplyDW was built entirely in the Fabric portal and now contains about 200 tables, views, and stored procedures, none o
- Adventure Works connects a Microsoft Fabric workspace that contains a warehouse named DW1 to an Azure DevOps repository. A reviewer must be able to open a pull request and see exactly which columns of
- You have a Microsoft Fabric workspace that is connected to a GitHub repository and that contains a warehouse named SalesDW. A nightly process loads 40 million rows into SalesDW. After the first commit
- You have a Microsoft Fabric workspace named WorkspaceB that contains a lakehouse named Lakehouse1 and a warehouse named ClaimsDW. In Visual Studio Code, you must create a connection profile that the S
- Building a database project validates schema and produces a dacpac without changing Fabric
The Build action validates new and modified object definitions and creates a compiled dacpac. Project edits remain local until the project is published to a target warehouse.
Trap Use Build to apply validated table changes immediately to the connected production warehouse.
5 questions test this
- You have a Microsoft Fabric warehouse named MarketingDW and a corresponding database project in Visual Studio Code. Your continuous integration process must archive one build artifact for every commit
- Blue Yonder Airlines has a Microsoft Fabric workspace that contains a warehouse named LedgerDW. A data engineer maintains the LedgerDW schema as an SDK-style database project in Visual Studio Code, an
- VanArsdel, Ltd. keeps the schema of a Microsoft Fabric warehouse named CatalogDW in an SDK-style database project in Visual Studio Code. A release engineer changes the data type of a column in one tab
- You have a Microsoft Fabric workspace that contains a warehouse named DW1. In the DW1 database project, a developer removes the OrderStatus column from the dbo.Orders table definition, but the dbo.Ope
- You have a Microsoft Fabric workspace that contains a warehouse named DW1 and a database project for DW1 that is open in Visual Studio Code. You add a column to the dbo.FactSales table by editing that
- Publishing applies the schema difference between a project and its target warehouse
DacFx publishing generates and executes the changes needed to make the target warehouse match the compiled project. Choose Generate Script first when the deployment must be reviewed without altering the target, and save separate publish profiles for different environments.
Trap Choose Publish when reviewers must inspect the deployment T-SQL before any target changes occur.
7 questions test this
- Tailwind Traders creates a Microsoft Fabric workspace for quality assurance and adds an empty warehouse item named QaDW to it. The team's database project defines about 60 tables, views, and stored pr
- Fabrikam, Inc. maintains a database project for a Microsoft Fabric warehouse named AnalyticsDW. The project contains a finished view that the business needs this afternoon and a second view that a dev
- Contoso, Ltd. keeps development, test, and production Microsoft Fabric workspaces, and each workspace contains a warehouse named RevenueDW. One database project in Visual Studio Code defines the Reven
- Coho Vineyard develops a Microsoft Fabric warehouse named OrdersDW as a database project in Visual Studio Code. A post-deployment script in the project reads a SQLCMD variable whose value identifies t
- Woodgrove Bank keeps one database project for two Microsoft Fabric warehouses named StagingDW and LiveDW. An engineer chose Generate Script during a publish to StagingDW, and the release checklist was
- Litware, Inc. deploys the database project for a Microsoft Fabric warehouse named BillingDW from an Azure DevOps release stage that runs SqlPackage. Engineers validated a set of deployment options and
- Adventure Works stores the schema of a Microsoft Fabric warehouse named CustomerDW in a database project. During an incident last week, an engineer edited the stored procedure sales.usp_LoadOrders dir
- Database deployment flags determine whether destructive schema changes proceed
BlockOnPossibleDataLoss prevents deployment when a proposed change risks losing data and should remain true in production. DropObjectsNotInSource removes target objects absent from the project and can delete important objects or data, so it is safer for controlled development or test cleanup than for production.
Trap Enable DropObjectsNotInSource in production as a harmless way to preserve target-only tables.
5 questions test this
- Alpine Ski House develops a Microsoft Fabric warehouse named DevDW from a database project. An engineer deliberately removed the Discount column from dbo.FactSales in the project, and DevDW contains o
- Relecloud publishes a database project to a Microsoft Fabric warehouse named HistoryDW that stores 40 million rows of order history. The change in the project narrows the OrderNotes column of dbo.Orde
- Wide World Importers promotes a database project to a Microsoft Fabric warehouse named CommerceDW that serves the finance department. A release engineer proposes enabling DropObjectsNotInSource in the
- Trey Research promotes a Microsoft Fabric warehouse named MerchDW from a test workspace to a production workspace by using a Fabric deployment pipeline. In the test workspace, a developer deleted the
- Proseware, Inc. treats a database project as the source of truth for a Microsoft Fabric warehouse named SandboxDW. Over several sprints, engineers created extra views and stored procedures directly in
- Deployment pipeline stage count and names are permanent after creation
When creating a Fabric deployment pipeline, define its number of stages and each stage name. Those structural choices cannot be changed later, although whether a stage is public can be changed.
Trap Create a two-stage pipeline now and add a production stage after testing is complete.
7 questions test this
- Woodgrove Bank is designing its first Microsoft Fabric deployment pipeline for a regulated lending analytics workload that a data engineering team maintains. The bank's release runbook names 12 enviro
- Tailspin Toys is preparing a Microsoft Fabric deployment pipeline for a regulated reporting workload. The release process defined by the compliance team has five environments: build, integration, user
- Litware, Inc. runs a Microsoft Fabric deployment pipeline named ALMPipeline1 that was created six months ago with two stages named Development and Test. A workspace is assigned to each stage, and the
- Fourth Coffee is creating its first Microsoft Fabric deployment pipeline for the content that its data engineering team builds. The company has a development workspace and a test workspace today, and
- Woodgrove Bank is designing its first Microsoft Fabric deployment pipeline for a regulated lending analytics workload that a data engineering team maintains. The bank's release runbook names 12 enviro
- Contoso, Ltd. is standardizing its analytics delivery on Microsoft Fabric. A workspace named WS-Dev holds the lakehouses and notebooks that the data engineering team builds each sprint. Every change w
- Northwind Traders has a Microsoft Fabric deployment pipeline named NWPipeline1 with three stages. A workspace named WS-Live is assigned to the final stage and holds the semantic models and lakehouses
- A workspace must satisfy capacity, ownership, and adjacency conditions before stage assignment
The assignee must administer the workspace, the workspace must be on Fabric capacity and not assigned to another deployment pipeline, and the target stage must be vacant. The user also needs at least Contributor access to workspaces in adjacent stages.
Trap Assign a workspace already used by another deployment pipeline to a second vacant stage.
6 questions test this
- Contoso, Ltd. has a Microsoft Fabric deployment pipeline named CPipeline1 that a colleague shared with you, so you hold pipeline admin permission. A workspace named WS-Silver sits on the same F64 capa
- Adventure Works has a Microsoft Fabric deployment pipeline named AWPipeline1 with three stages. The development and production stages already have workspaces assigned, and you hold no role in either o
- Northwind Traders is onboarding a new analytics team to Microsoft Fabric. The team built its content in a workspace named WS-Team7, which was created outside any Fabric capacity. You are an administra
- Fabrikam, Inc. has a Microsoft Fabric deployment pipeline named FPipeline1 whose test stage is assigned to a workspace named WS-Test-Old. The data engineering team has finished a replacement workspace
- Tailspin Toys has a Microsoft Fabric deployment pipeline named TTPipeline1 whose second stage is vacant. You are a pipeline admin, and you hold Contributor access to the workspaces assigned to the adj
- Litware, Inc. has two Microsoft Fabric deployment pipelines. A workspace named WS-Bronze is currently assigned to the development stage of an older pipeline named LegacyPipeline1 that the data enginee
- Deployment pipelines promote all or selected content only between adjacent stages
Fabric can deploy all supported content or a selected subset to an adjacent stage. Backward deployment to the adjacent previous stage is supported only when the target stage is empty. A nonadjacent jump must be performed through the intervening stage rather than as one deployment.
Trap Deploy selected items directly from the first stage to a nonadjacent production stage in one operation.
6 questions test this
- Woodgrove Bank has an existing Microsoft Fabric workspace named WS-Prod that already serves business reports. You create a deployment pipeline named WGPipeline3 with three stages and assign WS-Prod to
- Woodgrove Bank has an existing Microsoft Fabric workspace named WS-Prod that already serves business reports. You create a deployment pipeline named WGPipeline3 with three stages and assign WS-Prod to
- Litware, Inc. has a Microsoft Fabric deployment pipeline named LPipeline1 with three stages named Development, Test, and Production, each with an assigned workspace holding paired copies of the same i
- Tailspin Toys has a Microsoft Fabric deployment pipeline named TTPipeline2. A workspace named WS-Dev is assigned to the development stage and contains a lakehouse, three notebooks, and two reports bou
- Fabrikam, Inc. assigned an existing production workspace to the final stage of a new Microsoft Fabric deployment pipeline named FPipeline2. The pipeline's test stage already has a small workspace that
- Contoso, Ltd. has a Microsoft Fabric deployment pipeline named CPipeline2 whose development workspace holds 40 items. Three notebooks and one data pipeline were changed during the current sprint and h
- Deployment copies item metadata but preserves target identity and access
A deployment copies supported definitions, relationships, parameters, and data-source metadata, but it does not copy stored data, item URLs, IDs, workspace settings, or permissions. Existing paired target items retain their target ID, URL, and permissions when their content is overwritten.
Trap Use deployment to clone warehouse data and source-workspace role assignments into production.
6 questions test this
- Northwind Traders has a Microsoft Fabric deployment pipeline whose test stage is vacant. From the development stage you deploy the lakehouses and notebooks to the test stage, and Fabric creates a new
- Alpine Ski House has a Microsoft Fabric deployment pipeline whose development stage holds a workspace named WS-Dev. WS-Dev contains a lakehouse named LakehouseGold that stores 40 Delta tables loaded b
- Wide World Importers has a Microsoft Fabric deployment pipeline with development, test, and production stages, and each stage holds an assigned workspace. Workspace monitoring is turned on for the dev
- Lamna Healthcare has a Microsoft Fabric deployment pipeline with development, test, and production stages. A warehouse named DW-Claims exists in the test stage and in the production stage, and the two
- Contoso, Ltd. has a Microsoft Fabric deployment pipeline with development, test, and production stages. A lakehouse in the development workspace contains an Azure Data Lake Storage Gen2 shortcut that
- Fabrikam, Inc. has a Microsoft Fabric deployment pipeline whose production stage holds a lakehouse named LakehouseCore. A separate analytics workspace that belongs to no pipeline contains a lakehouse
- Deployment rules adjust target configuration while credentials remain environment-specific
Fabric applies configured deployment rules to deployed target content, such as changing supported data sources or text parameters. Data-source credentials and initial gateway mappings are not copied, so configure and validate those in the target environment after deployment.
Trap Store production credentials in the source stage and rely on deployment rules to copy them automatically.
7 questions test this
- Wingtip Toys has a Microsoft Fabric deployment pipeline with development, test, and production stages. A data source rule on the production stage redirects a semantic model named SM-Finance from the t
- Wingtip Toys deploys a semantic model from the test stage of a Microsoft Fabric deployment pipeline to the production workspace for the first time. A data source rule in the production stage points th
- Adventure Works has a Microsoft Fabric deployment pipeline with development, test, and production stages. A notebook named NB-Curate in the development workspace uses a development lakehouse as its de
- First Up Consultants has a Microsoft Fabric deployment pipeline with development, test, and production stages. A semantic model in the development workspace connects to an Azure SQL Database, and the
- Fourth Coffee has a Microsoft Fabric deployment pipeline with development, test, and production stages. A Dataflow Gen1 dataflow named DF-Orders loads an Azure SQL database that holds several years of
- Coho Vineyard has a Microsoft Fabric deployment pipeline. A semantic model in the test stage reads an on-premises Microsoft SQL Server database through an on-premises data gateway. After the first dep
- Proseware, Inc. has a Microsoft Fabric deployment pipeline with development, test, and production stages. A semantic model named SM-Sales was deployed from the test stage to the production stage last
- Fabric APIs automate selective or full deployment and expose operation status
Use deployment pipeline Fabric APIs to integrate releases with tools such as Azure DevOps or GitHub Actions and to deploy either selected items or all stage content. Stage deployment is a long-running operation, so automation should query its operation state and result rather than treat API acceptance as deployment completion.
- Item schedules participate in Fabric CI/CD with their items
Deployment pipelines automatically include an item's schedules when deploying the item. Git integration stores those schedules in a .schedules file within the item's definition.
- Stage assignment pairs items by name and type, with folder as a duplicate tie breaker
When a workspace is assigned to a stage, Fabric pairs one matching item in each adjacent stage by item name and item type. If duplicate names and types exist, matching folder location is required to disambiguate the pair.
Trap Assume identical item IDs across independently created stage workspaces are required for initial pairing.
9 questions test this
- Woodgrove Bank has two Microsoft Fabric workspaces that two teams built independently. RiskDev contains a lakehouse named RiskBronze and a notebook named ScoreLoans. RiskQa contains a lakehouse named
- Litware, Inc. has a Microsoft Fabric deployment pipeline whose development stage is assigned to DevWS and whose test stage is assigned to TestWS. After the workspaces were assigned, one data engineer
- Contoso, Ltd. has a Microsoft Fabric deployment pipeline named TelemetryALM that contains development, test, and production stages. The development stage is assigned to a workspace named TelemetryDev,
- You have a Microsoft Fabric deployment pipeline whose test workspace now contains two data pipelines named LoadBronze. One of them was created directly in the test workspace and is unpaired. The other
- You have a Microsoft Fabric deployment pipeline that has a development stage and a test stage. The development workspace contains a single notebook named Enrich that sits in a folder named Silver. The
- You have a Microsoft Fabric deployment pipeline that has a development stage and a test stage. The development workspace contains a notebook named CleanseOrders in the root of the workspace. The test
- Contoso, Ltd. has two Microsoft Fabric workspaces named DevWS and TestWS that were created independently by two data engineering teams. Each workspace contains a lakehouse, several notebooks, and a da
- Litware, Inc. built its analytics in a Microsoft Fabric workspace named ProdWS and later rebuilt the same content by hand in a new workspace named DevWS. Each workspace contains a lakehouse named Sale
- Fabrikam, Inc. manages its analytics content with a Microsoft Fabric deployment pipeline named FreightALM. The development stage is assigned to a workspace named FreightDev, which contains a single no
- Deploying an unpaired item creates a new paired copy rather than overwriting by name
A clean deploy copies an unpaired source item into the adjacent target and pairs the new copy to its source. An existing target item with the same name and type is not overwritten merely because its display metadata matches, so duplicate-looking items can result.
Trap Expect an unpaired same-name target item to be overwritten automatically on the first deployment.
9 questions test this
- Contoso, Ltd. has a Microsoft Fabric deployment pipeline whose development stage is assigned to DevWS and whose test stage is assigned to TestWS. A notebook named Score is paired between the stages. T
- Litware, Inc. has a Microsoft Fabric deployment pipeline named PayrollALM whose development stage is assigned to a workspace named PayrollDev and whose test stage is assigned to a workspace named Payr
- You have a Microsoft Fabric deployment pipeline whose development stage is assigned to DevWS and whose test stage is assigned to TestWS. A data engineer adds a new Spark job definition named Aggregate
- Adventure Works has a Microsoft Fabric deployment pipeline named MeterALM whose development stage is assigned to MeterDev and whose test stage is assigned to MeterQa. In the pipeline content list, six
- You have a Microsoft Fabric deployment pipeline whose development stage is assigned to DevWS and whose test stage is assigned to TestWS. A lakehouse named Sales in DevWS was paired with a lakehouse in
- Litware, Inc. has a Microsoft Fabric deployment pipeline whose development stage is assigned to DevWS and whose test stage is assigned to TestWS. After the workspaces were assigned, one data engineer
- You have a Microsoft Fabric deployment pipeline whose test workspace now contains two data pipelines named LoadBronze. One of them was created directly in the test workspace and is unpaired. The other
- Contoso, Ltd. has a Microsoft Fabric deployment pipeline named ClaimsALM whose development stage is assigned to ClaimsDev and whose test stage is assigned to ClaimsQa. Last quarter, well after the wor
- Tailwind Traders has a Microsoft Fabric deployment pipeline whose development stage is assigned to a workspace named SupplyDev and whose test stage is assigned to a workspace named SupplyQa. Both work
- Renaming a paired item does not break its deployment pairing
After items are paired, their association persists even if one receives a different name. A later deployment still updates the paired target rather than creating a clean copy solely because the names differ.
Trap Rename a paired target item to force the next deployment to create a separate clean copy.
3 questions test this
- Contoso, Ltd. has a Microsoft Fabric deployment pipeline whose development stage is assigned to DevWS and whose test stage is assigned to TestWS. A notebook named Score is paired between the stages. T
- You have a Microsoft Fabric deployment pipeline whose development stage is assigned to DevWS and whose test stage is assigned to TestWS. A lakehouse named Sales in DevWS was paired with a lakehouse in
- You have a Microsoft Fabric deployment pipeline whose development and test stages are assigned to DevWS and TestWS. Three data pipelines in DevWS are paired with three data pipelines in TestWS. A data
- A deployment fails when a required dependency cannot be bound in the target stage
For supported Fabric dependencies, deployment pipelines autobinds a deployed item to the corresponding dependency in the target stage. If the required linked item is neither selected for deployment nor already present in that stage, the deployment fails; Select related can include the required providers.
Trap Deploy only a dependent item and expect it to remain usable when its required provider is absent from the target.
5 questions test this
- Proseware, Inc. has a Microsoft Fabric deployment pipeline named BillingALM whose development stage is assigned to BillingDev and whose test stage is assigned to BillingQa. BillingDev contains a seman
- Litware, Inc. manages Microsoft Fabric content by using two deployment pipelines that each contain three stages. The second stage of each pipeline is named QA. A paginated report named UsageAging in t
- You have a Microsoft Fabric deployment pipeline named RetailALM whose development stage is assigned to RetailDev and whose test stage is assigned to RetailTest. Last month you deployed a semantic mode
- You have a Microsoft Fabric deployment pipeline named SalesALM whose development stage is assigned to a workspace named SalesDev and whose test stage is assigned to an empty workspace named SalesTest.
- Contoso, Ltd. manages content in two Microsoft Fabric deployment pipelines that each contain three stages. ModelPipeline manages semantic models, and ReportPipeline manages reports. A report named Mar
- Direct Lake semantic models require a datasource rule to bind to the target item
A deployed Direct Lake semantic model does not automatically rebind to its deployed target-stage lakehouse or warehouse and can remain connected to the source-stage item. Configure a datasource rule when it must use the paired data item in the target stage.
Trap Rely on standard autobinding to redirect every Direct Lake model to its target-stage lakehouse.
3 questions test this
- Adventure Works uses a Microsoft Fabric workspace named OpsDev that contains a lakehouse named FleetGold and a Direct Lake semantic model named FleetExec that reads FleetGold. OpsDev is assigned to th
- You have a Microsoft Fabric deployment pipeline whose development stage is assigned to CuratedDev and whose test stage is assigned to CuratedTest. A Direct Lake semantic model named ExecMetrics reads
- Litware, Inc. has a Microsoft Fabric deployment pipeline named RevenueALM that contains development, test, and production stages. A Direct Lake semantic model named MarginPulse reads a lakehouse named
- Direct Ingestion destinations can require rebinding after Eventstream deployment
After importing or deploying an Eventstream with an Eventhouse destination in Direct Ingestion mode to a new workspace, manually reconfigure its connection when required. Referencing connections through a Variable Library centralizes rebinding and reduces this manual work across workspaces.
Also tested in
References
- The Microsoft Fabric deployment pipelines process
- Git integration process in Microsoft Fabric
- Introduction to CI/CD in Microsoft Fabric
- Overview of Fabric Git integration
- Dataflow Gen2 with CI/CD and Git integration
- Job Scheduler in Microsoft Fabric
- CI/CD for pipelines in Data Factory
- Conflict resolution in Fabric Git integration
- Branch out to another workspace in Fabric Git integration
- Development and deployment overview for Fabric Data Warehouse
- Develop warehouse projects in Visual Studio Code
- Assign a workspace to a Fabric deployment pipeline
- Deploy content to a deployment pipeline stage
- Create deployment rules for a Fabric deployment pipeline
- Variable library overview in Microsoft Fabric
- Git integration and deployment pipelines for Real-Time Intelligence
- Automate deployment pipeline by using Fabric APIs
- Fabric REST API: long running operations