Study Guide · DP-700

DP-700 Cheat Sheet

298 entries · 10 chapters · 3 domains

Implement and manage an analytics solution

Configure Microsoft Fabric workspace settings

Read full chapter

Cheat sheet

Sharp facts the exam loves — scan these before test day.

Starter pools favor fast best-effort Spark startup over custom sizing

Every Fabric workspace receives a starter pool automatically. It uses Medium nodes and prewarmed capacity for typically fast startup, but that startup is best effort; use a custom pool when the workload needs control over node size and scaling.

Trap Create a custom Spark pool solely to obtain the default prewarmed startup behavior.

6 questions test this
Custom Spark pools control node size, autoscale, and executor allocation

A workspace admin can create a custom Spark pool after the capacity setting for customized workspace pools permits it. Autoscale changes the number of nodes, while dynamic allocation adds and releases executors for an application within the nodes available to the pool.

Trap Use dynamic executor allocation to change the physical node size of a running pool.

7 questions test this
A default Environment centralizes the workspace Spark runtime and dependencies

A workspace admin can select an Environment as the workspace default so notebooks and Spark job definitions inherit its runtime, libraries, and compute properties. If no default Environment is enabled, the admin selects a default Fabric runtime version instead.

Trap Configure workspace-wide Python libraries by changing only the starter pool node count.

8 questions test this
Disabling item compute customization enforces the workspace default pool

When item-level compute customization is disabled, all Environments in the workspace use the default pool and its compute configuration. Enable the setting only when item authors need to adjust session-level driver or executor resources through an Environment.

6 questions test this
High concurrency reuses compatible Spark sessions within one user boundary

High concurrency can place multiple compatible notebook or pipeline workloads in one Spark application when they have the same user, default lakehouse, and compute settings. A mismatch in any requirement starts a separate session rather than sharing execution state.

Trap Enable high concurrency to share one Spark session among different users with different lakehouses.

4 questions test this
Reserving maximum cores disables optimistic Spark job admission

Fabric enables Optimistic Job Admission by default for a workspace. Enable Reserve maximum cores for active Spark jobs when active jobs must reserve their maximum core allocation instead; this setting turns off the optimistic admission approach.

6 questions test this
Spark session timeout independently controls interactive session expiry

Set Spark session timeout in the workspace Jobs settings to control expiry for notebook interactive sessions independently of job admission and maximum job lifetime. The default interactive session expiry is 20 minutes.

Maximum Spark job lifetime terminates user jobs but exempts system jobs

The workspace maximum job lifetime automatically cancels over-limit user-submitted notebooks, Spark job definitions, and Livy sessions, including scheduled, pipeline-orchestrated, and high-concurrency runs. Fabric-managed maintenance, materialized lake view refresh, and platform enforcement jobs are exempt and continue to completion.

7 questions test this
A runtime change applies from the next Spark session and requires compatibility validation

Changing the workspace runtime leaves an existing Spark session unchanged and applies the selected version to the next session or job. Fabric migrates Spark settings and libraries, but skips incompatible settings with a warning; library conflicts can fail the build, and JARs can stop working when runtime dependencies change.

An Environment controls high-concurrency notebook density per Spark session

A high-concurrency Spark session accepts five notebooks by default. To change its density, publish spark.highConcurrency.max in the attached Environment with a supported value from 2 through 50; notebooks and pipeline activities using that Environment inherit the limit.

Custom live pools provide predictable Spark startup during scheduled active windows

Use a custom live pool for a latency-sensitive scheduled notebook workload that needs consistently warm Spark compute during a defined active window; its prehydrated clusters can start sessions in approximately five seconds in that window.

4 questions test this
Assigning a workspace to a domain classifies every item in that workspace

A workspace-domain association adds the domain attribute to all items in the workspace and supports domain filtering in the OneLake catalog. The association organizes metadata; it does not grant visibility or data access to users.

Trap Assign a workspace to a Finance domain to grant every Finance domain user access to its items.

8 questions test this
A domain contributor must also administer a workspace to assign it

Domain contributors can assign or change the domain of workspaces only when they also hold the Admin role in those workspaces. Domain contributors perform that assignment from workspace settings and do not gain access to the Domains tab in the admin portal.

Trap Grant only the domain contributor role and expect it to authorize assignment of any tenant workspace.

8 questions test this
A default domain assigns unclassified workspaces without overriding existing assignments

Defining a default domain for users or groups assigns their existing unassigned workspaces and workspaces they create later. A workspace that already belongs to a domain keeps its existing assignment.

Trap Use a default domain to forcibly move every already-classified workspace owned by the selected users.

8 questions test this
Domain admins can override only tenant settings delegated to their domain

Fabric admins can delegate selected governance settings to domain control. A domain admin can then configure such settings as a domain default sensitivity label or domain-specific certification reviewers, but cannot override tenant settings that were not delegated.

Trap Make a user domain admin to let them override every Fabric tenant setting.

6 questions test this
Subdomains inherit administration from their parent domain

Fabric or domain admins can create subdomains to refine logical organization. A subdomain has no independent domain-admin list; the admins of its parent domain administer it.

Trap Assign a separate subdomain administrator because parent-domain admins cannot manage subdomains.

7 questions test this
OneLake outbound access protection blocks outbound connections by default

Enabling workspace outbound access protection blocks supported OneLake items from reaching external destinations unless an exception is configured. Workspace admins allow approved destinations with managed private endpoints or data connection rules.

Trap Enable outbound access protection and rely on all existing shortcuts remaining implicitly allowed.

7 questions test this
Every outbound hop in a OneLake shortcut chain requires approval

If a shortcut in one protected workspace points through another workspace to a third destination, each consecutive outbound connection must be approved. An approval directly from the first workspace to the final workspace does not replace approvals for the actual intermediate hops.

Trap Approve only the first and final workspaces in a chained shortcut and ignore its intermediate connection.

7 questions test this
Airflow starter and custom pools trade idle shutdown for production readiness

The default Apache Airflow starter pool provides an immediate runtime for development and shuts down after 20 minutes of environment inactivity. A custom pool is intended for production flexibility and remains on until manually paused, although resuming it can take up to five minutes.

Trap Choose the starter pool for an always-on production DAG runtime that must never deprovision when idle.

8 questions test this
Airflow custom pools scale DAG capacity with size, autoscale, and extra nodes

A custom Apache Airflow pool can use Small nodes for simpler DAGs or Large nodes for complex production DAGs and can autoscale nodes. Each configured extra node adds capacity for three more Airflow workers.

Trap Increase Spark executors to add Apache Airflow workers to a custom Airflow pool.

7 questions test this
Fabric Apache Airflow jobs do not support private or virtual networks

Current Fabric Apache Airflow jobs cannot run with private networks or virtual networks. A design that requires those network boundaries must not assume that changing the Airflow workspace pool enables them.

Trap Create a custom Airflow pool to attach the job to a managed virtual network.

8 questions test this
Managed private endpoints cannot back ADLS Gen2 or Blob OneLake shortcuts

A workspace Admin can create managed private endpoints so supported Fabric workloads privately reach supported firewall-protected data sources. Do not choose this path for a OneLake shortcut to ADLS Gen2 or Azure Blob Storage, because those shortcut connections do not support managed private endpoints.

8 questions test this

Implement lifecycle management in Fabric

Read full chapter

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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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.

Configure security and governance

Read full chapter

Cheat sheet

Sharp facts the exam loves — scan these before test day.

Workspace roles grant capabilities across every item in the workspace

Admin, Member, Contributor, and Viewer are workspace-wide roles rather than permissions on one selected item. Use item sharing instead when a user must access one item without gaining comparable visibility into the rest of the workspace.

Trap Assign the Viewer workspace role to expose only one lakehouse while hiding all other workspace items.

12 questions test this
Contributor permits content and data writes without workspace access administration

A Contributor can create, modify, execute, and delete supported Fabric items and can write lakehouse or warehouse data. The role cannot add workspace users, create the workspace identity, connect the workspace to Git, or edit OneLake security roles.

Trap Assign Member solely because a data engineer needs to write tables but must not manage workspace access.

7 questions test this
Viewer can consume workspace content without inheriting Spark and OneLake file access

Viewer can view workspace content and connect to SQL endpoints, and the workspace role supplies SQL ReadData for lakehouse and warehouse data. It does not supply ReadAll for Spark, OneLake APIs, or Lakehouse explorer; grant an appropriate item or OneLake permission when that access is required.

Trap Assign Viewer and assume it automatically grants unrestricted OneLake file access through Spark.

11 questions test this
Overlapping workspace group assignments resolve to the highest granted role

Workspace roles can be assigned to users, security groups, Microsoft 365 groups, or distribution lists. If a user receives several workspace roles through those assignments, the user obtains the highest permission level rather than the intersection of the roles.

Trap Place a Member in a Viewer group to reduce the user's effective workspace access to Viewer.

4 questions test this
Service principals inherit the capabilities of their assigned workspace role

A Microsoft Entra service principal can be assigned a Fabric workspace role for supported API-based operations. Its effective workspace permissions follow that role, so automation should receive the least privileged role that can perform its required item and scheduler actions.

6 questions test this
Only workspace Admins can grant the Admin role

A workspace Admin can add or remove access across all workspace roles. A Member can add others only to the Member, Contributor, or Viewer roles and therefore cannot promote another principal to Admin.

2 questions test this
Workspace identity provides Fabric-managed authentication without stored customer credentials

A workspace identity is a Fabric-managed service principal that obtains Microsoft Entra tokens for supported item connections and enables trusted workspace access for eligible OneLake shortcuts. A workspace Admin can create or manage it, while Fabric manages its credentials to avoid customer-managed secrets.

2 questions test this
Sharing grants direct item access without workspace membership

A shared recipient sees only the shared item rather than becoming a member of a workspace role. Sharing a lakehouse also grants access to its SQL analytics endpoint, but not to unrelated workspace items.

Trap Share a lakehouse to make the recipient a Viewer of every item in its workspace.

7 questions test this
Base Read permission opens an item but does not grant broad data reads

The default direct share grants Read so a recipient can open the item or connect to its endpoint. For a warehouse, Read alone does not authorize table queries; add granular SQL grants, ReadData, or the required OneLake permission according to the intended access path.

Trap Grant only Read on a warehouse and expect the recipient to select every table immediately.

7 questions test this
ReadData and ReadAll authorize different Fabric data access paths

ReadData permits read-only T-SQL access to warehouse or SQL analytics endpoint tables and views. ReadAll grants access to underlying files through Spark and OneLake APIs; neither permission should be substituted for the other when an engine-specific requirement is stated.

Trap Grant ReadData when a notebook must read the item's Delta files directly through Spark.

6 questions test this
Item sharing is a read-consumption path rather than a write grant

Sharing a lakehouse or warehouse does not provide data write permissions. For a user who must modify tables or files through normal Fabric authoring paths, use a suitable workspace role such as Contributor unless a supported granular OneLake ReadWrite role precisely fits the lakehouse operation.

Trap Select Read all with Apache Spark in the sharing dialog to let the recipient overwrite lakehouse tables.

6 questions test this
Fabric Read plus SQL grants enables least-privilege warehouse object access

To expose selected warehouse objects, share the warehouse with base Read and then use T-SQL GRANT, REVOKE, or DENY for the required schemas, tables, views, functions, or procedures. Granting ReadData instead is broader because it is equivalent to read access across all warehouse tables and views.

Trap Grant ReadData when the requirement is to query exactly one approved view and no other warehouse objects.

5 questions test this
Share permission delegates only permissions the sharer already holds

A recipient with Share can reshare an item but can grant no more than that recipient's own permissions. Workspace Admins and Members can share a lakehouse by default; Contributors and Viewers require an explicit Share permission on that item.

5 questions test this
Execution and OneLake event subscription require distinct item permissions

Execute authorizes executing or canceling an item's execution, while Subscribe to OneLake events authorizes event subscription for supported data items. Execute is a separate item grant from base Read and the SQL or Spark data-read permissions, but permission to subscribe to OneLake events for lakehouses, data warehouses, mirrored databases, and SQL databases is currently granted along with the Read All Apache Spark permission.

Warehouse row-level security combines a predicate function with a security policy

Implement warehouse or SQL analytics endpoint RLS with an inline table-valued function that supplies the row predicate and a CREATE SECURITY POLICY statement that binds and enforces it. Filter predicates affect reads and qualifying UPDATE and DELETE operations at the database tier.

Trap Create a stored procedure as the predicate object referenced by CREATE SECURITY POLICY.

6 questions test this
Warehouse column-level security grants access only to approved columns

Use column-scoped T-SQL GRANT permissions, preferably assigned to database roles, to let users query approved columns while denying access to sensitive columns. A query such as SELECT * fails when it includes a column for which the caller lacks permission.

Trap Use dynamic data masking when the requirement is to make queries that reference a forbidden column fail.

4 questions test this
OneLake object-level security grants selected tables, schemas, or folders

OneLake table and folder security uses a grant model for structured and unstructured data. Because Delta tables and schemas are represented as folders in OneLake, a role can expose only selected tables, schema folders, or file folders and inherits folder access to their descendants.

Trap Use warehouse column-level GRANT statements to secure arbitrary unstructured files in a lakehouse folder.

3 questions test this
OneLake row and column filters for one table must be combined in one security role

OneLake RLS and CLS can restrict the same table together only when both policies are defined in a single OneLake security role. Splitting the row rule and column rule across separate roles is unsupported and causes query errors for affected users.

Trap Create one OneLake role for allowed rows and a second role for allowed columns, then assign both to the user.

7 questions test this
OneLake security roles cannot deny data access granted by a workspace role

OneLake security is additive: a role cannot deny access that another role or permission model grants. Workspace Admins, Members, and Contributors retain full item data access and are not restricted by OneLake roles; use Viewer or direct Read recipients when granular roles must govern their data view.

Trap Add a Contributor to a restrictive OneLake role to hide selected tables while preserving Contributor write privileges.

7 questions test this
SQL analytics endpoint security does not protect alternate lakehouse paths

Row, column, and object controls configured on a lakehouse SQL analytics endpoint apply only when users access data through that endpoint. Secure Spark and other access paths separately with workspace, item, or OneLake permissions; endpoint SQL rules do not govern those paths.

5 questions test this
Dynamic data masking obscures query results without changing stored values

A mask is defined on a sensitive warehouse or SQL analytics endpoint column and transforms what nonprivileged users see in result sets. The stored value remains unchanged, and available functions include default, email, random numeric, and partial string masks.

Trap Use a dynamic mask to permanently rewrite sensitive values in the underlying warehouse table.

8 questions test this
Dynamic data masking must be combined with access controls against inference

Masking reduces accidental exposure but does not stop a user with query access from inferring values through carefully constructed predicates. Use least-privilege object, row, or column controls as the security boundary, and grant UNMASK only to users who must retrieve original values.

Trap Rely on masking alone to protect salary values from a user allowed to run unlimited filtering queries.

7 questions test this
Purview sensitivity labels classify Fabric items and can propagate through lineage

Users can manually apply published Microsoft Purview sensitivity labels to Fabric items, and default or programmatic labeling can expand coverage. Downstream inheritance is on by default for Fabric-to-Fabric and Fabric-to-Power BI lineage, subject to documented limitations; a label is classification and protection metadata, not a replacement for workspace or data permissions.

Trap Apply a sensitivity label as the only control needed to grant or deny table query access in every Fabric engine.

7 questions test this
Promoted, Certified, and Master data badges express different trust claims

An item writer can mark an item Promoted to indicate readiness for reuse, while only authorized reviewers can mark it Certified as meeting organizational quality standards. Master data is restricted to data-containing items designated as an authoritative core source and also requires authorized reviewers.

Trap Use Promoted to assert that an organization-authorized certifier has validated the item as authoritative.

7 questions test this
Microsoft Purview Audit records searchable Fabric user and item activity

Users with the required Audit Logs or View-Only Audit Logs role access Fabric audit records in the Microsoft Purview portal and can filter by UTC date range, activity, user, and file, folder, or site. Use the audit log to investigate who performed an operation; the Monitoring hub instead focuses on runs for items the viewer can access.

Trap Use the Monitoring hub as the tenant-wide compliance record of every user's administrative and item operation.

6 questions test this

Orchestrate processes

Read full chapter

Cheat sheet

Sharp facts the exam loves — scan these before test day.

Dataflow Gen2 fits visual low-code ingestion and transformation

Choose Dataflow Gen2 when Power Query's visual connectors and transformations can clean, combine, and reshape data without custom code. It can load multiple supported destinations and can also run as an activity inside a larger pipeline.

Trap Choose a notebook solely because a standard Power Query transformation must be maintained by low-code users.

7 questions test this
A data pipeline fits recurring movement and multi-step orchestration

Choose a Fabric data pipeline when the solution must coordinate copies, stored procedures, scripts, notebooks, dataflows, or conditional control flow as one workflow. Pipelines also provide connector and gateway-based movement for sources that are not directly suitable for Spark code.

Trap Use a Dataflow Gen2 item alone to coordinate several existing child pipelines with success and failure dependencies.

8 questions test this
A notebook fits code-first distributed Spark processing

Choose a Fabric notebook when ingestion or transformation needs custom Python, Scala, SQL, or R logic and Apache Spark's distributed processing. This is a strong fit for very large files, custom algorithms, or transformations that exceed the practical expressiveness of Power Query.

Trap Choose Dataflow Gen2 for a 500-GB file solely to obtain Spark's highest-throughput parallel file processing.

7 questions test this
A Notebook activity embeds Spark processing inside pipeline control flow

Use a Notebook activity when custom Spark code is required as one step of an orchestrated workflow. The pipeline supplies scheduling, dependencies, retries, and parameter passing, while the notebook remains responsible for its code-first data processing.

Trap Rewrite every pipeline activity into one notebook because pipelines cannot invoke Fabric notebooks.

8 questions test this
A fixed pipeline schedule requires start, end, frequency, and time zone

Fabric pipeline schedules are bounded rather than open ended, so configure both start and end dates along with frequency and time zone. A pipeline can have as many as 20 schedules, each with independent timing.

Trap Leave the end date blank to create a permanently open-ended Fabric pipeline schedule.

6 questions test this
Interval-based schedules expose nonoverlapping window boundaries to expressions

An interval-based schedule defines fixed nonoverlapping execution windows and supplies Window start time and Window end time as trigger parameters. Time-slice monitoring and backfill are not available for these interval schedules.

Trap Use an interval schedule because it automatically backfills every missed time window.

7 questions test this
Event triggers start pipelines in response to matching platform events

Use an event-based run when a pipeline must react to file, job, or workspace events rather than poll on a clock. Storage event setup uses Fabric eventstream and Activator capabilities and creates a Reflex item that holds the active trigger rule.

Trap Create a one-minute fixed schedule to satisfy a requirement that ingestion start specifically when a file arrives.

7 questions test this
Storage trigger file and folder metadata can drive dynamic pipeline expressions

Data Factory derives built-in file-name and folder-path trigger parameters from a storage event and exposes them in the expression builder. Use null-safe pipeline references when manually testing because an on-demand run has no storage event metadata.

Trap Expect a manual pipeline run to populate the same event file-name parameter as a BlobCreated trigger.

6 questions test this
Pipeline schedule failure notifications apply only to scheduled runs

Add users or groups to a pipeline schedule's Failure notifications when email is required after that scheduled run fails. Those schedule notifications are not sent for on-demand executions.

Trap Configure schedule failure notifications as the email mechanism for every manual test run.

4 questions test this
Managing schedules and failure notifications requires write-level access

To create or modify an item schedule or configure its failure notifications, a principal needs at least workspace Contributor or Write permission on the item. Viewer-only access permits inspecting existing schedules but not changing them.

6 questions test this
Failure notification recipients apply across every schedule for an item

Configure scheduled-run failure notification recipients at the Fabric item level. That recipient configuration applies to all schedules on the item rather than to only one selected schedule.

Activator rules start supported Fabric jobs and pass matching typed parameters

An Activator rule can start a pipeline, Dataflow, notebook, Spark job definition, user data function, or copy job when its condition is met. For supported parameterized items, define the Activator parameter name and type exactly as in the target and pass manual or dynamic values; copy jobs do not accept parameters.

Pipeline parameters provide run inputs that remain fixed during execution

Define typed parameters to reuse one pipeline with different external values on separate runs. A parameter value is immutable for the duration of a run, while variables are the appropriate construct for state that must change as activities execute.

Trap Use a pipeline parameter as a counter that a ForEach activity increments during the run.

5 questions test this
String interpolation converts a pipeline expression result to text

An expression referenced directly can preserve its native type, but an expression wrapped in @{...} interpolation always returns a string. Use direct expression form when an activity property requires a number, Boolean, array, or object rather than text.

Trap Wrap an integer parameter in string interpolation to guarantee that the activity receives an integer.

5 questions test this
Notebook activity parameter discovery reads the notebook parameter cell

A Notebook activity can auto-populate names, types, and defaults only for variables defined in the selected notebook's parameter cell. Pipeline authors can override those base values, and selecting a different notebook refreshes the discovered list.

Trap Expect the activity to auto-populate every variable declared in arbitrary notebook cells.

3 questions test this
Notebook session tags reuse Spark only when pipeline high concurrency is enabled

Assign the same session tag to compatible Notebook activities to reuse an existing Spark session and reduce startup time. The workspace setting for high concurrency on pipelines running multiple notebooks must be enabled; otherwise the tag does not provide session reuse.

Trap Set identical session tags while leaving high concurrency disabled and expect all notebook activities to share Spark.

4 questions test this
Invoke pipeline (Legacy) can wait for a child or let parent execution continue

Configure the Invoke pipeline (Legacy) activity to wait on completion when downstream parent activities depend on the child pipeline's completed output. Clear wait on completion when the child can execute independently: the invoked pipeline then runs in parallel with the activities that follow in the parent flow. Current documentation binds this wait/continue choice to the LEGACY activity's settings only; the modern Invoke pipeline activity's documented settings (Type, Connection, Workspace, Pipeline) carry no wait toggle.

Trap Clearing wait on completion on the Legacy activity when the next parent activity must consume the child pipeline's completed output.

1 question tests this
ForEach controls parallelism across items while preserving each item's child order

ForEach evaluates an item collection and exposes the current element through @item(). Select Sequential to process items one at a time; otherwise Batch count limits concurrent items, while the configured child activities still run sequentially for each individual item.

Trap Clear Sequential to make all child activities for one item execute simultaneously.

3 questions test this
Activity retries handle transient failures before control moves to a failure path

Configure retry count and interval on the failing activity when intermittent connectivity or throttling should be retried without custom orchestration. For supported activity types, optional retry conditions can restrict retries by error code, message, or failure type so permanent authentication errors do not consume unnecessary attempts.

Trap Add a ForEach loop around a Copy activity solely to retry a transient connection failure.

3 questions test this
NotebookUtils orchestrates reusable notebook chains and DAGs

Use the NotebookUtils notebook module to run and chain notebooks and receive exit values from them. It also supports parallel DAG execution and cross-workspace notebook references when notebook-driven orchestration is required.

3 questions test this
Pipeline dependency conditions select the required upstream outcome

Use On success or On failure when a downstream activity must run only for that respective upstream result, On completion when it must run after the upstream activity regardless of outcome, and On skip when it must run only if the upstream activity is skipped.

5 questions test this
Choose pipeline control flow by branch shape and loop condition

Use If Condition for true and false branches, Switch for multiple branches selected by one expression, and Until to repeat nested activities until its condition becomes true.

4 questions test this
Lookup and Get Metadata outputs drive data-dependent pipeline control flow

Use Lookup to return configuration rows or values and Get Metadata to return properties such as existence, structure, or column count. Reference their outputs as dynamic content in succeeding activities to drive branches and loops instead of hard-coding orchestration decisions.

Secure input and output prevent activity values from appearing in logs

Enable Secure input to suppress an activity's input from pipeline logs and Secure output to suppress its output. Apply the corresponding setting wherever sensitive parameters, credentials, or returned values would otherwise be exposed in run logging.

4 questions test this
The current Invoke pipeline activity uses a connection for cross-workspace calls

Use the current Invoke pipeline activity, not Invoke pipeline (Legacy), to call a Fabric pipeline in another workspace. Its Fabric connection can authenticate with an organizational account, service principal, or workspace identity; the legacy activity is limited to the parent pipeline's workspace.

3 questions test this
Pipeline schedules bind exact parameter names to static or library values

A schedule can pass either a direct static value or a Variable Library reference to each pipeline parameter at run time. The schedule's parameter name must exactly match the pipeline definition; a mismatched name is ignored.

3 questions test this
Semantic model refresh activity controls both refresh scope and execution behavior

A Semantic model refresh activity can target selected tables or partitions when the pipeline should process only part of a model. Configure its retry count, maximum parallelism, and refresh timeout to control execution behavior for that scoped refresh.

Ingest and transform data

Design and implement loading patterns

Read full chapter
  • Use a full load when replacing the complete dataset is acceptable
  • Complete the initial snapshot before applying incremental changes
  • Match destination replacement behavior to full-load semantics
  • Publish a full refresh only after the replacement data is ready
  • Never truncate and reload a generated-surrogate-key dimension
  • Choose a monotonic change column for watermark loads
  • Bound each incremental extraction with old and new watermarks
  • Advance the saved watermark only after the batch succeeds
  • Merge changed rows when an increment can update existing keys
  • Use file modification metadata for new-or-changed file ingestion
  • Use Copy job for a guided full-then-incremental load
  • Configure Dataflow incremental refresh around replaceable time buckets
  • Declare a fact table grain before loading measures
  • Load dimensions before resolving fact foreign keys
  • Use surrogate dimension keys to decouple the model from source keys
  • Map unresolved dimensions to a predefined unknown member
  • Load atomic facts to preserve valid aggregation paths
  • Separate analytic context from measurements in a star schema
  • Match the fact table type to how measurements evolve
  • Classify measure additivity before choosing an aggregation
  • Share conformed dimensions across related stars
  • Validate dimensional referential integrity in ETL
  • Create an inferred member for a valid late-arriving dimension
  • Soft-delete warehouse records when history must remain valid
  • Use SCD Type 1 when prior attribute values need not be retained
  • Use SCD Type 2 to preserve attribute history
  • Track Type 2 currency with validity metadata
  • Resolve historical facts to the dimension version valid at event time
  • Compare tracked attributes before creating a new dimension version
  • Use SCD Type 3 only for limited prior-value history
  • Checkpoint stateful Spark streams in durable lake storage
  • Make downstream processing tolerant of at-least-once delivery
  • Fan out a raw archive and curated stream from one ingestion path
  • Run production Spark streams as Spark job definitions with retries

Unlock with Premium — includes all practice exams and the complete study guide.

Ingest and transform batch data

Read full chapter
  • Choose a lakehouse for Spark-first processing and open file data
  • Choose a warehouse for governed relational analytics with T-SQL writes
  • Choose SQL database in Fabric for operational transactional workloads
  • Use a shortcut when existing data should remain in place
  • Choose a warehouse when writes require multi-table atomicity
  • Choose Cosmos DB in Fabric for NoSQL and vector workloads
  • Choose Dataflow Gen2 for visual low-code Power Query transformations
  • Choose notebooks for advanced distributed transformations and custom libraries
  • Choose T-SQL for set-based transformation inside a warehouse
  • Choose KQL for telemetry and event-shaped transformations
  • Use pipelines to orchestrate rather than replace transformation engines
  • Use warehouse-native bulk and set-based loading operations
  • Treat a shortcut as an independent pointer to its target
  • Place structured Delta shortcuts at the lakehouse Tables root
  • Authorize internal shortcut access at the target location
  • Distinguish deleting a shortcut from deleting through it
  • Use workspace shortcut caching to reduce supported remote egress
  • Bind external shortcuts only through an authorized cloud connection
  • Scope Eventhouse database shortcuts to the required subitems
  • Use database mirroring for managed near-real-time replication
  • Scope mirroring to the required database tables
  • Use the mirrored SQL analytics endpoint for reads, not source writes
  • Match database, metadata, or open mirroring to the movement model
  • Keep Fabric capacity running for replication to continue
  • Use Copy activity for scalable batch movement across supported stores
  • Use a data gateway for network-restricted pipeline sources
  • Configure activity retries for transient ingestion failures
  • Tune Copy activity parallelism before multiplying pipelines
  • Filter at the source to minimize transferred batch data
  • Run batch transformation in the engine that owns the target workload
  • Denormalize dimensions to simplify analytic joins
  • Group and aggregate at the requested dimensional grain
  • Deduplicate with a business key and deterministic survivor rule
  • Quarantine invalid data before applying late-arrival logic

Unlock with Premium — includes all practice exams and the complete study guide.

Ingest and transform streaming data

Read full chapter
  • Choose Eventstreams for connector-driven no-code stream processing
  • Choose Structured Streaming for code-first distributed stream logic
  • Choose Eventhouse when rapid KQL analysis is the primary outcome
  • Choose a lakehouse sink for durable Delta data shared with Spark
  • Balance latency, transformation complexity, and operations when selecting an engine
  • Use a native Eventhouse table for fully indexed ingestion performance
  • Use a KQL shortcut to query OneLake data without moving it
  • Do not assume external shortcut tables support native table features
  • Account for automatic schema synchronization on shortcut tables
  • Enable OneLake availability to expose native KQL data as Delta
  • Account for KQL table restrictions while OneLake availability is enabled
  • Enable query acceleration for frequently queried external Delta data
  • Set the accelerated hot window from Delta modification time
  • Budget storage and compute for accelerated shortcuts
  • Check external table shape before enabling acceleration
  • Disable acceleration before changing advanced Delta table features
  • Provide an upstream schema before configuring visual operators
  • Insert a derived stream when a destination cannot accept an operator directly
  • Enable enhanced capabilities when transformations must feed all destinations
  • Keep one SQL operator as the transformation boundary for a path
  • Govern evolving Eventstream schemas with registry-aware paths
  • Use DeltaFlow to normalize supported CDC streams for analytics
  • Write append-only Spark streams to Delta with a separate checkpoint
  • Use KQL summarize with time bins for interval aggregates
  • Use TIMESTAMP BY when windows must follow event time
  • Use tumbling windows for fixed nonoverlapping intervals
  • Use hopping windows for overlapping rolling evaluations

Unlock with Premium — includes all practice exams and the complete study guide.

Monitor and optimize an analytics solution

Monitor Fabric items

Read full chapter
  • The monitoring hub centralizes Fabric job health and outcomes
  • Pipeline activity input and output expose run-specific ingestion details
  • Pipeline Gantt view reveals delays, overlaps, and duration anomalies
  • Workspace monitoring separates pipeline job events from activity runs
  • Historical runs expose the complete 30-day activity history
  • Capacity Metrics identifies ingestion items that drive capacity load
  • Capacity-wide CU and throttling trends distinguish overload from one costly item
  • Dataflow refresh history is bounded by count and age
  • Dataflow table details track staged entities during transformation
  • Dataflow activity statistics quantify destination processing
  • Dataflow workspace status distinguishes refresh failures from validation failures
  • The monitoring hub aggregates Dataflow Gen2 refresh trends
  • Detailed Dataflow logs require controlled handling
  • Spark application details are reachable from item runs and Fabric Monitor
  • The Spark Jobs tab exposes stage and task execution work
  • Spark resource graphs show executor allocation and utilization
  • Spark run series detects anomalous recurring executions
  • Spark application logs separate driver, Livy, and prelaunch diagnostics
  • Item snapshots preserve the code and parameters used by a Spark run
  • Choose the Spark History Server tab that matches the suspected bottleneck
  • A pipeline semantic model refresh defaults to a full refresh
  • Semantic model refresh waits for completion by default
  • Semantic model refresh commit mode controls refresh atomicity
  • Pipeline output tracks orchestrated semantic model refreshes
  • Semantic model operation logs expose refresh processing steps
  • Semantic model refresh history provides attempt-level execution metrics
  • Direct Lake refresh reframes metadata instead of importing all data
  • Schedule failure notifications apply only to scheduled runs
  • Schedule failure alert management requires write access and tenant recipients
  • Activity-level pipeline alerts use dependent messaging activities
  • Activator handles rule-based pipeline event alerts
  • One KQL-triggered Activator rule can cover workspace-wide failures
  • Activator polling must be more frequent than the alert query window

Unlock with Premium — includes all practice exams and the complete study guide.

Identify and resolve errors

Read full chapter
  • Activity retries are intended for transient failures
  • Conditional retries select failures by exposed error properties
  • The retry interval elapses before a retry condition is evaluated
  • Rerunning from the failed activity avoids repeating successful predecessors
  • Connector error codes should drive cause-specific remediation
  • Copy fault tolerance can skip incompatibilities without abandoning verification
  • Dataflow troubleshooting starts with the failed Recent run
  • Mashup engine logs provide deep Dataflow refresh diagnostics
  • A Dataflow refresh timeline must include every Mashup engine instance
  • Dataflow duration and CPU fields separate waiting from computation
  • Dataflow request and session identifiers correlate diagnostic records
  • Contextual notebook logs localize exceptions to the executing cell
  • Spark Advisor identifies known failure and skew patterns
  • Spark UI tabs isolate executor, stage, and storage root causes
  • Spark out-of-memory failures require memory-pressure correction
  • Backlogged input events signal an eventstream processing deficit
  • Conversion and deserialization metrics identify opposite schema boundaries
  • Eventstream runtime logs expose engine warnings and errors
  • Streaming connector metrics distinguish skipped records from failed processing
  • Eventhouse running state distinguishes service and capacity failures
  • Eventhouse overview separates query errors from ingestion errors
  • SQL lifecycle DMVs answer distinct live-diagnostic questions
  • Workspace role limits SQL diagnostic visibility and cancellation
  • Warehouse DML blocking is diagnosed as table-level locking
  • Query Insights diagnoses completed SQL executions over history
  • Moving or deleting a shortcut target can break the shortcut
  • Broken shortcut credentials are repaired by replacing the shared connection
  • Shortcut access is constrained by both shortcut and target permissions
  • Request wait columns identify both the blocker and the blocked resource

Unlock with Premium — includes all practice exams and the complete study guide.

Optimize performance

Read full chapter
  • OPTIMIZE compacts small Delta files for efficient reads
  • Z-Order optimizes selective filter access patterns
  • V-Order trades write throughput for repeated read efficiency
  • New Fabric Spark workspaces disable V-Order by default
  • Changing a V-Order table property affects only future writes
  • VACUUM removes unreferenced files subject to retention safety
  • Recurring lakehouse maintenance should be orchestrated and targets Delta tables
  • A session-level true setting forces V-Order for every write
  • Copy throughput is bounded by the slowest end-to-end resource
  • Auto throughput optimization adapts compute to the copy pattern
  • Degree of copy parallelism is a maximum thread count
  • Parallel copy and throughput optimization are independent controls
  • ForEach can parallelize independent copy operations
  • Source range partitioning enables parallel relational reads
  • ForEach parallelism applies across items, not within an item's child list
  • Tune a Copy run from measured stage and endpoint evidence
  • Accurate statistics guide Warehouse query plan selection
  • A cold first query execution is not a representative baseline
  • Matching comparison data types avoids conversion overhead
  • Early filtering and narrow projection reduce distributed query work
  • Warehouse V-Order defaults favor analytical reads
  • Short, closed transactions reduce Warehouse contention
  • Reducing single-node operations preserves MPP scalability
  • SQL pool pressure evidence separates resource problems from query-shape problems
  • Eventstream throughput tier should match sustained event volume
  • Insufficient source partitions can cap eventstream throughput
  • Eventhouse hot-cache duration balances query latency and cost
  • Query acceleration speeds Eventhouse queries over shortcut Delta data
  • Accelerated external tables retain external-table limitations
  • A materialized view precomputes a recurring KQL aggregation
  • Balance OneLake availability latency against Parquet file quality
  • Adaptive Query Execution optimizes shuffles and joins at runtime
  • Dynamic allocation scales Spark executors within pool bounds
  • Native Execution Engine accelerates supported Spark operations
  • Repartitioning corrects oversized or uneven Spark partitions
  • Spark caching should be reserved for reused data
  • High-concurrency sessions reuse Spark compute across notebooks
  • Tune Spark stream writes to produce sustainable Delta files

Unlock with Premium — includes all practice exams and the complete study guide.