2 packs: 15% off with code BUY2. 3 or more: 20% off with code BUY3.

Free Microsoft DP-700 Practice Questions

40 free Microsoft DP-700 practice questions from the CertStash pack of 161, each with the correct answer and a full explanation. The rule is the same for every exam: ten free on the product page, 40 free here, all 161 in the pack, and each step includes the one before it.

Question 1

You have a Fabric workspace.

You have semi-structured data.

You need to read the data by using T-SQL, KQL, and Apache Spark. The data will only be written by using Spark.

What should you use to store the data?

  1. a lakehouse
  2. an eventhouse
  3. a datamart
  4. a warehouse
Show answer and explanation

Correct answer: A. a lakehouse

A lakehouse stores structured and semi-structured data in OneLake as Delta tables and files, and Apache Spark is its native engine for writing data, which matches the rule that only Spark writes. The same tables are exposed for T-SQL reads through the automatically created SQL analytics endpoint, and KQL can query them by adding a OneLake shortcut to the lakehouse tables in a KQL database. One copy of the data therefore serves all three query languages with a single write path.

Why the other options are wrong

  • B. An eventhouse is loaded through the KQL ingestion engine and is designed for streaming and time-series data, so it is not the store built for Spark as the single writer.
  • C. A datamart is a self-service Power BI item loaded through dataflows, not a store written by Spark and read by KQL.
  • D. A warehouse is written through its T-SQL engine and its tables are read-only to Spark through OneLake, so it does not fit data that is written only by Spark.

Question 2

You have a Fabric workspace that contains a warehouse named Warehouse1.

You have an on-premises Microsoft SQL Server database named Database1 that is accessed by using an on-premises data gateway.

You need to copy data from Database1 to Warehouse1.

Which item should you use?

  1. a Dataflow Gen1 dataflow
  2. a data pipeline
  3. a KQL queryset
  4. a notebook
Show answer and explanation

Correct answer: B. a data pipeline

A data pipeline can use a Copy activity whose source connection runs through an on-premises data gateway, so it can read Database1 on the local SQL Server and write the rows directly to Warehouse1 as the destination. This is the standard Fabric item for moving data from an on-premises relational source into a warehouse with no code, and the copy can be scheduled or run on demand as part of a larger orchestration.

Why the other options are wrong

  • A. A Dataflow Gen1 dataflow stores its output in its own Power BI storage and cannot load data into a Fabric warehouse as a destination.
  • C. A KQL queryset runs KQL queries against KQL databases; it does not copy data from SQL Server into a warehouse.
  • D. A notebook runs Spark code and cannot connect through an on-premises data gateway, so it cannot reach Database1 in this setup.

Question 3

You have a Fabric workspace that contains a warehouse named Warehouse1.

You have an on-premises Microsoft SQL Server database named Database1 that is accessed by using an on-premises data gateway.

You need to copy data from Database1 to Warehouse1.

Which item should you use?

  1. an Apache Spark job definition
  2. a data pipeline
  3. a Dataflow Gen1 dataflow
  4. an eventstream
Show answer and explanation

Correct answer: B. a data pipeline

A data pipeline with a Copy activity can connect to the on-premises SQL Server database through the on-premises data gateway and land the data in Warehouse1 as the destination. It is the low-code Fabric item intended for batch copies from relational sources into a warehouse, and it supports scheduling, parameters and retries, so it fits the requirement to copy data from Database1 without writing custom code.

Why the other options are wrong

  • A. An Apache Spark job definition runs Spark code and cannot use an on-premises data gateway to reach Database1.
  • C. A Dataflow Gen1 dataflow keeps its output in its own Power BI storage and cannot write to a Fabric warehouse.
  • D. An eventstream captures and routes streaming events in real time; it is not used to copy tables from an on-premises SQL Server database.

Question 4

You have a Fabric F32 capacity that contains a workspace. The workspace contains a warehouse named DW1 that is modelled by using MD5 hash surrogate keys.

DW1 contains a single fact table that has grown from 200 million rows to 500 million rows during the past year.

You have Microsoft Power BI reports that are based on Direct Lake. The reports show year-over-year values.

Users report that the performance of some of the reports has degraded over time and some visuals show errors.

You need to resolve the performance issues. The solution must meet the following requirements:

Provide the best query performance.

Minimize operational costs.

What should you do?

  1. Change the MD5 hash to SHA256.
  2. Increase the capacity.
  3. Enable V-Order.
  4. Modify the surrogate keys to use a different data type.
  5. Create views.
Show answer and explanation

Correct answer: B. Increase the capacity.

Direct Lake semantic models are bound by capacity guardrails, including a maximum number of rows per table that depends on the SKU. On an F32 capacity that limit is 300 million rows, so a fact table that grew to 500 million rows exceeds it, which forces queries to fall back to DirectQuery or fail, producing slow reports and visual errors. Moving to a larger capacity such as F64 raises the guardrail above the table size, which restores Direct Lake performance without redesigning the model or the warehouse.

Why the other options are wrong

  • A. SHA256 produces longer hash values than MD5, which increases column size and does nothing about the row-count guardrail that the fact table exceeds.
  • C. V-Order improves read performance of Parquet files, but it does not raise the per-table row limit that causes fallback and visual errors.
  • D. Changing the surrogate key data type can reduce column size, but the table would still exceed the row guardrail of the current capacity.
  • E. Views in the warehouse cause Direct Lake queries to fall back to DirectQuery, which degrades performance further instead of resolving it.

Question 5

You have a Fabric workspace named Workspace1 that contains a notebook named Notebook1.

In Workspace1, you create a new notebook named Notebook2.

You need to ensure that you can attach Notebook2 to the same Apache Spark session as Notebook1.

What should you do?

  1. Enable high concurrency for notebooks.
  2. Enable dynamic allocation for the Spark pool.
  3. Change the runtime version.
  4. Increase the number of executors.
Show answer and explanation

Correct answer: A. Enable high concurrency for notebooks.

High concurrency mode for notebooks lets several notebooks share a single Apache Spark session, so Notebook2 can attach to the session that Notebook1 already runs instead of starting a new one. Enabling it in the workspace Spark settings allows a user to attach a new notebook to an existing high concurrency session, which also saves session start time and compute. The notebooks must be compatible with the shared session, such as using the same environment.

Why the other options are wrong

  • B. Dynamic allocation lets a Spark session add or remove executors with the workload, but it does not let a second notebook join an existing session.
  • C. Changing the runtime version selects a different Spark and library set and has no effect on sharing a session between notebooks.
  • D. Adding executors gives a session more compute capacity, but each notebook would still run in its own separate session.

Question 6

You have a Fabric workspace named Workspace1 that contains a lakehouse named Lakehouse1.

Lakehouse1 contains the following tables:

Orders

Customer

Employee

The Employee table contains Personally Identifiable Information (PII).

A data engineer is building a workflow that requires writing data to the Customer table; however, the user does NOT have the elevated permissions required to view the contents of the Employee table. You need to ensure that the data engineer can write data to the Customer table without reading data from the Employee table.

Which three actions should you perform? Each correct answer presents part of the solution.

NOTE: Each correct selection is worth one point.

  1. Share Lakehouse1 with the data engineer.
  2. Assign the data engineer the Contributor role for Workspace2.
  3. Assign the data engineer the Viewer role for Workspace2.
  4. Assign the data engineer the Contributor role for Workspace1.
  5. Migrate the Employee table from Lakehouse1 to Lakehouse2.
  6. Create a new workspace named Workspace2 that contains a new lakehouse named Lakehouse2.
  7. Assign the data engineer the Viewer role for Workspace1.
Show answer and explanation

Correct answer: D, E, F. Assign the data engineer the Contributor role for Workspace1; Migrate the Employee table from Lakehouse1 to Lakehouse2; Create a new workspace named Workspace2 that contains a new lakehouse named Lakehouse2.

Writing to a lakehouse table requires a workspace role that can edit items, and the Contributor role on Workspace1 provides that while staying below Member and Admin. That role would also expose every table in Lakehouse1, so the Employee table with its PII must first leave that workspace. Creating Workspace2 with a new Lakehouse2 provides a separate security boundary, and migrating the Employee table to Lakehouse2 removes it from Workspace1. The data engineer then has write access to Customer without any access to Employee.

Why the other options are wrong

  • A. Sharing Lakehouse1 grants read-oriented item permissions only, so the data engineer still could not write data to the Customer table.
  • B. The Contributor role on Workspace2 would give the data engineer access to the Employee table after it moves, which defeats the purpose of isolating it.
  • C. The Viewer role on Workspace2 would let the data engineer read the Employee table, which must stay hidden from this user.
  • G. The Viewer role on Workspace1 is read-only, so the data engineer could not write data to the Customer table.

Question 7

You have a Fabric warehouse named DW1. DW1 contains a table that stores sales data and is used by multiple sales representatives.

You plan to implement row-level security (RLS). You need to ensure that the sales representatives can see only their respective data. Which warehouse object do you require to implement RLS?

  1. STORED PROCEDURE
  2. CONSTRAINT
  3. SCHEMA
  4. FUNCTION
Show answer and explanation

Correct answer: D. FUNCTION

Row-level security in a Fabric warehouse is built from an inline table-valued function that holds the filter logic and a security policy that applies that function as a predicate to the table. The function compares a column, such as the sales representative, with the identity of the user running the query, for example through USER_NAME(), and returns a row only when access is allowed. Without the function there is no predicate for the security policy to enforce.

Why the other options are wrong

  • A. A stored procedure runs a batch of T-SQL statements on demand and cannot act as the filter predicate of a security policy.
  • B. A constraint enforces data integrity rules on columns or rows; it does not filter which rows a user can read.
  • C. A schema can organize the security objects, but the filtering logic itself must be defined in a function.

Question 8

You have a Fabric deployment pipeline that uses three workspaces named Dev, Test, and Prod.

You need to deploy an eventhouse as part of the deployment process.

What should you use to add the eventhouse to the deployment process?

  1. GitHub Actions
  2. a deployment pipeline
  3. an Azure DevOps pipeline
Show answer and explanation

Correct answer: B. a deployment pipeline

An eventhouse is a supported item type in Fabric deployment pipelines, so it can be added to the Dev, Test and Prod process that already exists and promoted between the stages in the same way as the other items. Using the built-in deployment pipeline keeps the eventhouse in the same flow as the rest of the workspace content, with no extra tooling or scripts to maintain.

Why the other options are wrong

  • A. GitHub Actions is an external CI/CD tool that would need its own workflow and authentication, while the eventhouse can be deployed with the existing deployment pipeline.
  • C. An Azure DevOps pipeline is an external automation tool and is not needed, because the Fabric deployment pipeline already supports eventhouses.

Question 9

You have a Fabric workspace named Workspace1 that contains a warehouse named Warehouse1.

You plan to deploy Warehouse1 to a new workspace named Workspace2.

As part of the deployment process, you need to verify whether Warehouse1 contains invalid references. The solution must minimize development effort.

What should you use?

  1. a database project
  2. a deployment pipeline
  3. a Python script
  4. a T-SQL script
Show answer and explanation

Correct answer: B. a deployment pipeline

A Fabric deployment pipeline deploys a warehouse by applying its schema definition to the target stage through DacFx-based schema deployment. Because the objects are compiled as part of that deployment, a view, function or procedure that points to an object that cannot be resolved surfaces as a deployment error. Deploying Warehouse1 to Workspace2 through the pipeline therefore checks the warehouse for invalid references within the deployment step itself, with no project to build or code to write, which meets the requirement to minimize development effort.

Why the other options are wrong

  • A. A database project can validate references when it is built, but it requires extracting and maintaining the project in a separate tool, which adds development effort.
  • C. A Python script would have to be written to inspect the warehouse metadata, which adds development effort compared with the built-in deployment.
  • D. A T-SQL script that checks object dependencies must be written and maintained by hand, which does not minimize development effort.

Question 10

You have a Fabric warehouse named DW1. DW1 contains a table that stores sales data and is used by multiple sales representatives.

You plan to implement row-level security (RLS).

You need to ensure that the sales representatives can see only their respective data.

Which warehouse object do you require to implement RLS?

  1. SECURITY POLICY
  2. TABLE
  3. TRIGGER
  4. STORED PROCEDURE
Show answer and explanation

Correct answer: A. SECURITY POLICY

Row-level security in a Fabric warehouse is enforced by a security policy created with CREATE SECURITY POLICY. The policy adds a filter predicate, based on an inline table-valued function, to the sales table so that every query is automatically filtered for the current user. Of the objects listed, the SECURITY POLICY is the one required to apply RLS, ensuring each sales representative sees only their own rows without any change to the queries or reports.

Why the other options are wrong

  • B. The table holds the data being protected, but RLS is enforced by a policy applied to it, not by the table itself.
  • C. Triggers respond to data modifications and cannot restrict which rows a user can read.
  • D. A stored procedure can return filtered data, but it does not enforce row filtering on direct table queries.

What people say about the full DP-700 pack 5.0 from 11

The Microsoft DP-700 exam dumps for the Implementing Data Engineering Solutions Using Microsoft Fabric exam helped me pass successfully. Incredibly effective DP-700 exam dumps, which made me confident. Thanks very much!!
MylesDP-700
Your DP-700 exam guide is valid, I passed my exam with the real exam questions and accurate answers. Thanks!
Rory SchanzDP-700
DP-700 exam questions are valid. I cleared the DP-700 exam and got high score. Thank you for providing the valid questions.
Doug LavisDP-700

Question 11

You have a Fabric workspace named Workspace1 that contains a warehouse named Warehouse1.

Warehouse1 is integrated with a Git repository. Each branch in the repository is linked to a separate workspace in Fabric.

You perform the following actions:

• To Warehouse1, add a new table that is linked to the main branch and commit the change to source control.

• Create a new branch from the main branch, which also creates a second workspace named Workspace2.

• To Workspace2, add a stored procedure to Warehouse1 and commit the change to source control.

You need to ensure both the new table and the stored procedure are available in Workspace1. The solution must ensure that all performed commits are documented in the commit history of the main branch.

What should you do?

  1. Merge the feature branch into the main branch. Sync Workspace1 with the merged branch.
  2. Merge the branches. Add a stored procedure to Warehouse1. Commit the change to source control. Sync Workspace1.
  3. Merge the branches. Clone the repository locally. Add a stored procedure to Warehouse1. Commit and push the change. Sync Workspace1.
  4. Add a stored procedure to the main branch of Workspace1 and commit the change to source control. Merge the branches. Sync Workspace1 with the updated branch.
Show answer and explanation

Correct answer: A. Merge the feature branch into the main branch. Sync Workspace1 with the merged branch.

The new table is already committed to the main branch, and the stored procedure is committed to the feature branch linked to Workspace2. Merging the feature branch into main, typically through a pull request, brings the stored procedure commit into main and records it in the main branch history alongside the table commit. Workspace1 is connected to main, so syncing it with the merged branch applies both the table and the stored procedure to Warehouse1.

Why the other options are wrong

  • B. Re-creating the stored procedure in Warehouse1 duplicates work and records a new commit instead of the original one from the feature branch.
  • C. Cloning locally and adding the stored procedure again repeats work already committed and adds an unnecessary local step.
  • D. Adding the stored procedure directly to main before merging creates a conflicting duplicate change instead of merging the existing commit.

Question 12

You have a Fabric workspace that contains a lakehouse named Lakehouse1.

You plan to use Apache Spark to process the data in Lakehouse1.

You need to configure the workspace to ensure that users can share Spark cluster resources across notebooks. The solution must ensure that variables and code execution in one notebook remain isolated from those in other notebooks.

What should you do?

  1. Enable high concurrency mode.
  2. Modify the environment settings for each notebook.
  3. Enable autoscaling for the Spark pool.
  4. Enable the native execution engine.
Show answer and explanation

Correct answer: A. Enable high concurrency mode.

High concurrency mode lets several notebooks attach to a single Spark session, so they share the same cluster resources and start faster than separate sessions. Each notebook still runs in its own REPL core inside the shared session, which keeps its variables and code execution isolated from the other notebooks. Enabling high concurrency in the workspace Spark settings therefore delivers both resource sharing and isolation.

Why the other options are wrong

  • B. Environment settings define libraries and Spark properties for a notebook; they do not let notebooks share one session.
  • C. Autoscaling adjusts the number of nodes in a pool but does not make notebooks share a session.
  • D. The native execution engine speeds up Spark query processing; it has no role in sharing sessions across notebooks.

Question 13

Your company has a sales department that uses two Fabric workspaces named Workspace1 and Workspace2.

The company decides to implement a domain strategy to organize the workspaces.

You need to ensure that a user can perform the following tasks:

Create a new domain for the sales department.

Create two subdomains: one for the east region and one for the west region.

Assign Workspace1 to the east region subdomain.

Assign Workspace2 to the west region subdomain.

The solution must follow the principle of least privilege.

Which role should you assign to the user?

  1. workspace Admin
  2. domain admin
  3. domain contributor
  4. Fabric admin
Show answer and explanation

Correct answer: D. Fabric admin

In Fabric, only a Fabric admin can create a domain, so the first task already requires that role. A Fabric admin can also create subdomains under the new sales domain and assign workspaces to the east and west region subdomains. Because none of the lower roles can create the domain, the Fabric admin role is the least privileged role that covers all four tasks.

Why the other options are wrong

  • A. A workspace Admin manages a single workspace and cannot create domains or subdomains in the tenant.
  • B. A domain admin manages an existing domain, but a domain admin cannot create a new domain, so the first task fails.
  • C. A domain contributor can only assign workspaces they administer to a domain and cannot create domains or subdomains.

Question 14

You have a Fabric workspace named Workspace1.

You plan to integrate Workspace1 with Azure DevOps.

You will use a Fabric deployment pipeline named deployPipeline1 to deploy items from Workspace1 to higher environment workspaces as part of a medallion architecture. You will run deployPipeline1 by using an API call from an Azure DevOps pipeline.

You need to configure API authentication between Azure DevOps and Fabric.

Which type of authentication should you use?

  1. service principal
  2. Microsoft Entra username and password
  3. managed private endpoint
  4. workspace identity
Show answer and explanation

Correct answer: A. service principal

An Azure DevOps pipeline runs unattended, so it needs a non-interactive identity to call the Fabric REST APIs that run deployPipeline1. A service principal is a Microsoft Entra application identity that can obtain tokens with a client secret or certificate, can be granted access to the deployment pipeline and workspaces, and is the identity Microsoft recommends for automating deployment pipelines from CI/CD tools.

Why the other options are wrong

  • B. A user name and password ties automation to a personal account and does not work with multifactor authentication, so it is not suitable for an unattended pipeline.
  • C. A managed private endpoint is a network connection from Fabric to a private data source, not a way to authenticate API calls.
  • D. A workspace identity lets Fabric items in that workspace authenticate to data sources; Azure DevOps cannot use it to call Fabric APIs.

Question 15

You have a Fabric warehouse named DW1. DW1 contains a table that stores sales data and is used by multiple sales representatives.

You plan to implement row-level security (RLS).

You need to ensure that the sales representatives can see only their respective data.

Which warehouse object do you require to implement RLS?

  1. TRIGGER
  2. SCHEMA
  3. FUNCTION
  4. DATABASE ROLE
Show answer and explanation

Correct answer: C. FUNCTION

Row-level security in a Fabric warehouse is built from two pieces: an inline table-valued function that holds the filter predicate and a security policy that binds that function to the table. Of the objects listed, the FUNCTION is the one RLS requires, because the predicate logic, typically comparing a column such as the sales representative's user name with USER_NAME(), lives inside it. Each sales representative then sees only the rows for which the function returns a result.

Why the other options are wrong

  • A. Triggers run code in response to data changes and cannot filter which rows a user can read.
  • B. A schema can hold the security objects, but it is not the object that defines the row filter.
  • D. A database role groups permissions, but it does not filter rows within a table.

Question 16

You have a Fabric workspace named Workspace1 that contains the following items:

A Microsoft Power BI report named Report1

A Power BI dashboard named Dashboard1

A semantic model named Model1

A lakehouse named Lakehouse1

Your company requires that specific governance processes be implemented for the items.

Which items can you endorse in Fabric?

  1. Lakehouse1, Model1, and Dashboard1 only
  2. Lakehouse1, Model1, Report1 and Dashboard1
  3. Report1 and Dashboard1 only
  4. Model1, Report1, and Dashboard1 only
  5. Lakehouse1, Model1, and Report1 only
Show answer and explanation

Correct answer: E. Lakehouse1, Model1, and Report1 only

Endorsement in Fabric (promotion and certification) lets an organization flag trustworthy, governed content. Microsoft documents that all Fabric items and Power BI items can be promoted or certified except Power BI dashboards. In Workspace1, that means the lakehouse Lakehouse1, the semantic model Model1 and the report Report1 can all be endorsed, while the dashboard Dashboard1 cannot. Applying endorsement to those three items supports the governance processes the company requires without relying on a capability that dashboards do not offer.

Why the other options are wrong

  • A. Includes Dashboard1, which cannot be endorsed, and leaves out Report1, which can be endorsed.
  • B. Includes Dashboard1, but Power BI dashboards are the item type excluded from promotion and certification.
  • C. Leaves out Lakehouse1 and Model1, which support endorsement, and includes Dashboard1, which does not.
  • D. Includes Dashboard1, which cannot be endorsed, and omits Lakehouse1, which Fabric allows you to endorse.

Question 17

You have a Fabric workspace that contains a semantic model named Model1.

You need to dynamically execute and monitor the refresh progress of Model1.

What should you use?

  1. dynamic management views in Microsoft SQL Server Management Studio (SSMS)
  2. Monitoring hub
  3. dynamic management views in Azure Data Studio
  4. a semantic link in a notebook
Show answer and explanation

Correct answer: D. a semantic link in a notebook

Semantic link (the SemPy library) in a Fabric notebook lets you work with semantic models from Python code. It can start a refresh of Model1 programmatically, for example with refresh_dataset, and then query the status of refresh requests, so the refresh can be both triggered and tracked dynamically inside the same notebook logic. This combines execution and monitoring in code, which the other tools do not offer.

Why the other options are wrong

  • A. Dynamic management views queried in SSMS can report on a model but do not provide a dynamic way to start and track the refresh from code.
  • B. Monitoring hub shows refresh history and status but cannot execute a refresh programmatically.
  • C. Dynamic management views in Azure Data Studio only report on activity and do not run or orchestrate the refresh dynamically.

Question 18

You have five Fabric workspaces.

You are monitoring the execution of items by using Monitoring hub.

You need to identify in which workspace a specific item runs.

Which column should you view in Monitoring hub?

  1. Start time
  2. Capacity
  3. Activity name
  4. Submitter
  5. Item type
  6. Job type
  7. Location
Show answer and explanation

Correct answer: G. Location

In Monitoring hub, the Location column shows the workspace in which each item or activity runs. When activities from five workspaces appear in a single list, Location is the column that tells you which workspace a specific run belongs to, and it can also be used as a filter to narrow the view to one workspace.

Why the other options are wrong

  • A. Start time records when the run began, not which workspace it ran in.
  • B. Capacity identifies the compute capacity, and several workspaces can share one capacity, so it cannot pinpoint the workspace.
  • C. Activity name identifies the run itself rather than the workspace that contains it.
  • D. Submitter shows the user or identity that started the run, not its workspace.
  • E. Item type shows whether the item is a notebook, pipeline or other item type, not where it runs.
  • F. Job type describes how the job ran, such as a scheduled or on-demand run, not its workspace.

Question 19

You have a Fabric workspace that contains a lakehouse and a notebook named Notebook1.

Notebook1 reads data into a DataFrame from a table named Table1 and applies transformation logic. The data from the DataFrame is then written to a new Delta table named Table2 by using a merge operation.

You need to consolidate the underlying Parquet files in Table1.

Which command should you run?

  1. VACUUM
  2. BROADCAST
  3. OPTIMIZE
  4. CACHE
Show answer and explanation

Correct answer: C. OPTIMIZE

OPTIMIZE is the Delta Lake command that compacts many small Parquet files into fewer, larger files, which is what consolidating the underlying files of Table1 means. Fewer files reduce metadata overhead and speed up reads, and in Fabric OPTIMIZE can also apply V-Order. The data in the table is unchanged; only its physical file layout is rewritten.

Why the other options are wrong

  • A. VACUUM deletes data files no longer referenced by the Delta log after the retention period; it does not merge active files.
  • B. BROADCAST is a join hint that ships a small table to every executor, not a file maintenance command.
  • D. CACHE keeps table data in memory to speed later queries and does not rewrite or consolidate Parquet files.

Question 20

Note: This question is part of a series of questions that present the same scenario. Each question in the series contains a unique solution that might meet the stated goals. Some question sets might have more than one correct solution, while others might not have a correct solution.

After you answer a question in this section, you will NOT be able to return to it. As a result, these questions will not appear in the review screen.

You have an Azure key vault named KeyVault1 that contains secrets.

You have a Fabric workspace named Workspace1. Workspace1 contains a notebook named Notebook1 that performs the following tasks:

Loads stage data to the target tables in a lakehouse

Triggers the refresh of a semantic model

You plan to add functionality to Notebook1 that will use the Fabric API to monitor the semantic model refreshes.

You need to retrieve the registered application ID and secret from KeyVault1 to generate the authentication token.

Solution: You use the following code segment:

Use notebookutils.credentials.getSecret and specify the key vault URL and key vault secret.

Does this meet the goal?

  1. Yes
  2. No
Show answer and explanation

Correct answer: A. Yes

notebookutils.credentials.getSecret is the NotebookUtils method designed to read a secret from Azure Key Vault inside a Fabric notebook. It takes the Key Vault endpoint URL and the secret name, for example getSecret('https://<vault name>.vault.azure.net/', 'secret name'), and runs under the identity of the user executing the notebook, which needs permission to read secrets in KeyVault1. Calling it once for the application ID secret and once for the client secret returns the values needed to request an authentication token for the Fabric API calls that monitor the semantic model refreshes. The proposed solution therefore meets the goal.

Why the other options are wrong

  • B. getSecret with the vault URL and secret name is the documented way to read Key Vault secrets from a notebook, so this solution does retrieve the application ID and secret.

Question 21

You have a Fabric workspace named Workspace1 that contains a lakehouse.

You have a Microsoft Entra tenant that contains a user named User1.

You need to ensure that User1 can create items in Workspace1. The solution must follow the principle of least privilege.

Which workspace role should you assign to User1?

  1. Member
  2. Contributor
  3. Admin
  4. Viewer
Show answer and explanation

Correct answer: B. Contributor

The Contributor workspace role lets a user create, edit and delete items in the workspace, which is exactly what User1 needs. It does not let the user add or remove other users or change workspace settings, so it is the lowest role that grants item creation. Member adds the ability to share items and add users with lower roles, and Admin grants full control of the workspace, so both exceed the requirement. Viewer is read only. Contributor therefore meets the need while following the principle of least privilege.

Why the other options are wrong

  • A. Member can create items but also shares content and adds other users, which grants more than User1 needs.
  • C. Admin has full control of Workspace1, including managing access and deleting the workspace, far beyond least privilege.
  • D. Viewer can only view and interact with existing items; it cannot create new items in Workspace1.

Question 22

You have a Fabric workspace named Workspace1 that contains a lakehouse named Lakehouse1.

Workspace1 contains the following items:

A Dataflow Gen2 dataflow that copies data from an on-premises Microsoft SQL Server database to Lakehouse1

A notebook that transforms files and loads the data to Lakehouse1

A data pipeline that loads a CSV file to Lakehouse1

You need to develop an orchestration solution in Fabric that will load each item one after the other. The solution must be scheduled to run every 15 minutes.

Which type of item should you use?

  1. notebook
  2. warehouse
  3. Dataflow Gen2 dataflow
  4. data pipeline
Show answer and explanation

Correct answer: D. data pipeline

A data pipeline is the Fabric item built for orchestration. It can call a Dataflow activity for the Dataflow Gen2 dataflow, a Notebook activity for the notebook and an Invoke pipeline activity for the existing pipeline, and chain them with success dependencies so each load runs one after the other. A pipeline can also be scheduled to run on a recurring interval, such as every 15 minutes. This combination of sequencing different item types and scheduling makes the data pipeline the right choice.

Why the other options are wrong

  • A. A notebook can run other notebooks, but it is not designed to orchestrate a Dataflow Gen2 dataflow and a pipeline in sequence.
  • B. A warehouse stores and queries data and has no capability to orchestrate or schedule other items.
  • C. A Dataflow Gen2 dataflow performs Power Query transformations and cannot run notebooks or pipelines in sequence.

Question 23

You have a Fabric deployment pipeline that uses three workspaces named Dev, Test, and Prod.

You need to deploy an Eventhouse as part of the deployment process. What should you use to add the Eventhouse to the deployment process?

  1. an Azure DevOps pipeline
  2. an eventstream
  3. GitHub Actions
Show answer and explanation

Correct answer: A. an Azure DevOps pipeline

An Azure DevOps pipeline can automate a Fabric deployment process by calling the Fabric deployment pipelines REST APIs, so the deployment of items such as an Eventhouse from Dev to Test and Prod becomes part of a repeatable release process. This approach lets you include the Eventhouse in scripted, gated deployments that run alongside the rest of your release workflow. Of the options listed, an Azure DevOps pipeline is the release tool that Microsoft documents for automating Fabric deployment pipelines through their REST APIs.

Why the other options are wrong

  • B. An eventstream ingests and routes real-time events and is not a tool for deploying items between workspaces.
  • C. GitHub Actions is a workflow tool for GitHub repositories, while the documented approach for automating Fabric deployment pipelines uses an Azure DevOps pipeline.

Question 24

You have a Fabric workspace that contains a lakehouse named Lakehouse1.

You plan to create a data pipeline named Pipeline1 to ingest data into Lakehouse1. You will use a parameter named param1 to pass an external value into Pipeline1. The param1 parameter has a data type of int. You need to ensure that the pipeline expression returns param1 as an int value. How should you specify the parameter value?

  1. "@pipeline().parameters.param1"
  2. "@{pipeline().parameters.param1}"
  3. "@{pipeline().parameters.[param1]}"
  4. "@@{pipeline().parameters.param1}"
Show answer and explanation

Correct answer: A. "@pipeline().parameters.param1"

In pipeline expressions, a value that starts with @ and contains only an expression is evaluated and returned in its native type. Writing "@pipeline().parameters.param1" therefore returns param1 as an int, matching the parameter's data type. Wrapping the expression in @{ } uses string interpolation, which embeds the result in a string and returns a string value instead. Using the plain expression form is the way to keep the integer type when passing param1 into activities in Pipeline1.

Why the other options are wrong

  • B. The @{ } form is string interpolation, so the result is returned as a string rather than an int.
  • C. Square brackets around the parameter name are not valid in this property path, and the interpolation form also returns a string.
  • D. The @@ prefix escapes the @ character, so the text is returned as a literal string and is not evaluated.

Question 25

You have a Fabric workspace named Workspace1.

You plan to configure Git integration for Workspace1 by using an Azure DevOps Git repository.

An Azure DevOps admin creates the required artifacts to support the integration of Workspace1.

Which details do you require to perform the integration?

  1. the organization, project, Git repository, and branch
  2. the personal access token (PAT) for Git authentication and the Git repository URL
  3. the project, Git repository, branch, and Git folder
  4. the Git repository URL and the Git folder
Show answer and explanation

Correct answer: A. the organization, project, Git repository, and branch

Connecting a Fabric workspace to Azure Repos is done from the workspace Git integration settings by signing in with your Microsoft Entra account and then choosing the Azure DevOps organization, the project, the Git repository and the branch to connect to. Because the Azure DevOps admin has already created these artifacts, those four details are what you need to complete the connection. Authentication uses your single sign-on identity, so no personal access token is required, and the Git folder is optional because the root of the repository is used when none is specified.

Why the other options are wrong

  • B. A personal access token and repository URL are used for GitHub connections, while Azure DevOps uses Entra sign-in and selection of organization, project, repository and branch.
  • C. Omits the organization, which must be selected first, and includes the Git folder, which is optional.
  • D. Azure DevOps connections are made by selecting organization, project, repository and branch, not by supplying only a URL and folder.

25 questions in. Want the rest? The first half of the pack, free by email · The full pack

Question 26

Note: This question is part of a series of questions that present the same scenario. Each question in the series contains a unique solution that might meet the stated goals. Some question sets might have more than one correct solution, while others might not have a correct solution.

After you answer a question in this section, you will NOT be able to return to it. As a result, these questions will not appear in the review screen.

You have an Azure key vault named KeyVault1 that contains secrets.

You have a Fabric workspace named Workspace1. Workspace1 contains a notebook named Notebook1 that performs the following tasks:

Loads stage data to the target tables in a lakehouse

Triggers the refresh of a semantic model

You plan to add functionality to Notebook1 that will use the Fabric API to monitor the semantic model refreshes.

You need to retrieve the registered application ID and secret from KeyVault1 to generate the authentication token.

Solution: You use the following code segment:

Use notebookutils.credentials.getSecret and specify the key vault URL and the name of a linked service.

Does this meet the goal?

  1. Yes
  2. No
Show answer and explanation

Correct answer: B. No

The solution does not meet the goal. In Fabric, notebookutils.credentials.getSecret takes the Azure Key Vault endpoint URL and the name of the secret to read. Fabric notebooks do not use linked services, so passing a linked service name in place of the secret name does not identify the application ID or secret to return, and the values for the authentication token are not retrieved.

Why the other options are wrong

  • A. getSecret needs the secret name, and a linked service name does not identify any secret in KeyVault1.

Question 27

You have a Fabric workspace named Workspace1 that contains a warehouse named Warehouse1.

You plan to deploy Warehouse1 to a new workspace named Workspace2.

As part of the deployment process, you need to verify whether Warehouse1 contains invalid references. The solution must minimize development effort and provide detailed information about the invalid references.

What should you use?

  1. a dbt project
  2. a deployment pipeline
  3. a Python script
  4. a database project
Show answer and explanation

Correct answer: B. a deployment pipeline

A deployment pipeline is the built-in Fabric tool for moving Warehouse1 from Workspace1 to a stage in Workspace2. When the warehouse is deployed, the pipeline compares the two stages and validates the warehouse objects, and a deployment that hits invalid references fails with error details that identify the problem objects. Because this validation is part of the deployment you are already performing, it requires no extra tooling or code, which meets the requirement to minimize development effort.

Why the other options are wrong

  • A. A dbt project transforms data with SQL models and would require building and maintaining a separate project.
  • C. A Python script would have to be written from scratch to inspect references, which adds development effort.
  • D. A database project requires exporting and building the warehouse schema in separate tooling, which adds effort compared with the deployment you already perform.

Question 28

You have an Azure SQL database named DB1. The data in DB1 is appended daily.

You have a Fabric workspace named Workspace1 that contains a semantic model named Model1.

Model1 is sourced from DB1.

You need to configure Model1 to refresh only new and changed data during scheduled refreshes.

What should you do?

  1. From Power Query, define the RangeStart and RangeEnd parameters and filter table rows by using the parameters.
  2. For Workspace1, select Large semantic model storage format.
  3. In Model1, manually partition large tables by using monthly partitions.
  4. For Model1, change storage mode to DirectQuery.
Show answer and explanation

Correct answer: A. From Power Query, define the RangeStart and RangeEnd parameters and filter table rows by using the parameters.

Incremental refresh for a semantic model is configured by creating the reserved Power Query parameters RangeStart and RangeEnd, both of type Date/Time, and filtering the table on a date column with them. Once an incremental refresh policy is defined, the service creates partitions and on each scheduled refresh reloads only the recent partitions that hold new or changed rows, leaving older partitions untouched. This suits DB1, where data is appended daily.

Why the other options are wrong

  • B. Large semantic model storage format raises size limits and improves write performance, but it does not limit refreshes to new data.
  • C. Manually created monthly partitions are not refreshed selectively by a scheduled refresh without an incremental refresh policy and the required parameters.
  • D. DirectQuery removes imported data and queries DB1 live, which changes the model design rather than refreshing only new rows.

Question 29

You have a Fabric workspace that contains a warehouse named DW1. DW1 is loaded by using a notebook named Notebook1.

You need to identify which version of Delta was used when Notebook1 was executed. What should you use?

  1. Real-Time hub
  2. OneLake data hub
  3. the Admin monitoring workspace
  4. Fabric Monitor
  5. the Microsoft Fabric Capacity Metrics app
Show answer and explanation

Correct answer: D. Fabric Monitor

Fabric Monitor, the Monitoring hub, lists every notebook run and lets you open the Spark application details for the run of Notebook1. Those details describe how the run executed, including the Spark runtime it used, and each Fabric Spark runtime ships with a specific Delta Lake version. This makes the monitoring view the place to determine which Delta version applied when Notebook1 loaded DW1.

Why the other options are wrong

  • A. Real-Time hub is for discovering and managing streaming data and events, not for inspecting notebook runs.
  • B. OneLake data hub helps you find and explore data items; it does not show execution details of a notebook run.
  • C. The Admin monitoring workspace provides tenant-level usage and audit reports for admins, not per-run Spark runtime details.
  • E. The Capacity Metrics app reports capacity unit consumption and throttling, not the runtime or Delta version of a run.

Question 30

You have a Fabric workspace that contains a mirrored Azure SQL database named DB1 in OneLake.

You need to ensure that users can access updated data and build and view reports interactively. The solution must minimize the load on DB1.

What should you do?

  1. From Microsoft Power BI, configure a dataflow to extract the data from the Fabric mirrored lakehouse and load the data into a dataset.
  2. Use a semantic model in Direct Lake storage mode that is connected to the Fabric mirrored lakehouse.
  3. Create a Microsoft Power BI report in DirectQuery storage mode to connect to DB1.
  4. Use Import storage mode to load the data from the Fabric mirrored lakehouse into a Microsoft Power BI dataset.
Show answer and explanation

Correct answer: B. Use a semantic model in Direct Lake storage mode that is connected to the Fabric mirrored lakehouse.

A mirrored Azure SQL database replicates its data into OneLake as Delta tables, so reports can read the replica instead of DB1. A semantic model in Direct Lake storage mode reads those Delta tables directly from OneLake, giving interactive report performance without importing the data and without sending queries to DB1. Because mirroring keeps the replica current, users see updated data, while all reporting load stays off the operational database.

Why the other options are wrong

  • A. A dataflow that loads the mirrored data into a dataset adds another copy and a scheduled refresh, so reports lag behind the mirrored data.
  • C. DirectQuery to DB1 sends every report query to the operational database, which increases the load the solution must minimize.
  • D. Import mode stores a copy that is current only as of the last refresh, so users do not see updated data between refreshes.

Question 31

You have a Fabric workspace named Workspace1 that contains an Apache Spark job definition named Job1.

You have an Azure SQL database named Source1 that has public internet access disabled.

You need to ensure that Job1 can access the data in Source1.

What should you create?

  1. an on-premises data gateway
  2. a managed private endpoint
  3. an integration runtime
  4. a data management gateway
Show answer and explanation

Correct answer: B. a managed private endpoint

Source1 does not accept connections from the public internet, so Job1 must reach it over a private network path. A managed private endpoint in the Fabric workspace creates a private link from the managed virtual network used by Spark workloads to the Azure SQL database, and once the owner of Source1 approves the connection, notebooks and Apache Spark job definitions in the workspace can connect to it privately.

Why the other options are wrong

  • A. An on-premises data gateway serves dataflows, pipelines and semantic models, and Spark job definitions cannot use it to reach a data source.
  • C. An integration runtime is the compute component of Azure Data Factory and Azure Synapse pipelines, not something a Fabric Spark job definition uses.
  • D. A data management gateway is an Azure Data Factory component for on-premises access, and Fabric Spark workloads do not use it.

Question 32

You have a Fabric F32 capacity that contains a workspace. The workspace contains a warehouse named DW1 that is modelled by using MD5 hash surrogate keys.

DW1 contains a single fact table that has grown from 200 million rows to 500 million rows during the past year.

You have Microsoft Power BI reports that are based on Direct Lake. The reports show year-over-year values.

Users report that the performance of some of the reports has degraded over time and some visuals show errors.

You need to resolve the performance issues. The solution must meet the following requirements:

Provide the best query performance.

Minimize operational costs.

Which should you do?

  1. Create views.
  2. Modify the surrogate keys to use a different data type.
  3. Change the MD5 hash to SHA256.
  4. Increase the capacity.
  5. Disable V-Order on the warehouse.
Show answer and explanation

Correct answer: D. Increase the capacity.

Direct Lake semantic models are subject to capacity guardrails that include a maximum number of rows per table, and the limit grows with the capacity SKU. On an F32 capacity the per-table limit is 300 million rows, and the fact table has grown to 500 million rows, so queries fall back to DirectQuery or fail, which explains the slower reports and visual errors. Scaling up to a larger capacity raises the guardrail above the table size, restoring Direct Lake performance with a single, straightforward change.

Why the other options are wrong

  • A. Views do not reduce the row count of the fact table and in a warehouse cause Direct Lake queries to fall back to DirectQuery.
  • B. Changing the key data type does not reduce the number of rows that exceeds the F32 guardrail.
  • C. SHA256 produces longer hash values, which adds storage and does not address the row limit.
  • E. V-Order optimizes Parquet files for fast reads, so disabling it would make Direct Lake queries slower.

Question 33

Note: This question is part of a series of questions that present the same scenario. Each question in the series contains a unique solution that might meet the stated goals. Some question sets might have more than one correct solution, while others might not have a correct solution.

After you answer a question in this section, you will NOT be able to return to it. As a result, these questions will not appear in the review screen.

You have an Azure key vault named KeyVault1 that contains secrets.

You have a Fabric workspace named Workspace1. Workspace1 contains a notebook named Notebook1 that performs the following tasks:

Loads stage data to the target tables in a lakehouse

Triggers the refresh of a semantic model

You plan to add functionality to Notebook1 that will use the Fabric API to monitor the semantic model refreshes.

You need to retrieve the registered application ID and secret from KeyVault1 to generate the authentication token.

Solution: You use the following code segment:

Use notebookutils.credentials.putSecret and specify the key vault URL and key vault secret.

Does this meet the goal?

  1. Yes
  2. No
Show answer and explanation

Correct answer: B. No

The solution does not meet the goal. notebookutils.credentials.putSecret stores or updates a secret in Azure Key Vault and takes a vault URL, a secret name and a secret value. It writes data rather than reading it, so it cannot retrieve the application ID and secret from KeyVault1 that are needed to generate the authentication token. Reading a secret requires getSecret.

Why the other options are wrong

  • A. putSecret writes a secret into the key vault, so it does not return the stored application ID and secret.

Question 34

You have a Fabric workspace that contains a Real-Time Intelligence solution and an eventhouse.

Users report that from OneLake file explorer, they cannot see the data from the eventhouse.

You enable OneLake availability for the eventhouse.

What will be copied to OneLake?

  1. only data added to new databases that are added to the eventhouse
  2. only the existing data in the eventhouse
  3. no data
  4. both new data and existing data in the eventhouse
  5. only new data added to the eventhouse
Show answer and explanation

Correct answer: D. both new data and existing data in the eventhouse

Turning on OneLake availability creates a logical copy of the KQL database data in Delta Lake format in OneLake, so other Fabric tools, including OneLake file explorer, can see it. When the option is applied to the existing tables, the historic data is backfilled, and data ingested afterward continues to be written to OneLake. As a result, both the data that was already in the eventhouse and the new data that arrives later are available in OneLake.

Why the other options are wrong

  • A. OneLake availability is not limited to databases added later; it covers the tables of the database where it is enabled.
  • B. OneLake availability is not a one-time export; new data ingested after enabling it is also written to OneLake.
  • C. Enabling OneLake availability is exactly what exposes the eventhouse data in OneLake, so data does appear there.
  • E. Existing data is included through historic backfill, so the copy is not limited to new data.

Question 35

You have a Fabric warehouse named Warehouse1 that contains a table named Table1. Table1 has a column named EmailAddress. All users have access to Warehouse1.

You need to configure dynamic data masking for the EmailAddress column. The solution must meet the following requirements:

• The solution must NOT change the data in Warehouse1.

• The solution must NOT require changes to the queries that access Table1.

• The solution must NOT require changes to the security or permissions granted to Warehouse1.

What should you use?

  1. a Data Control Language (DCL) statement
  2. a dynamic management view (DMV)
  3. a Data Definition Language (DDL) statement
  4. a Data Manipulation Language (DML) statement
Show answer and explanation

Correct answer: C. a Data Definition Language (DDL) statement

Dynamic data masking is a property of the column definition, so it is added with a Data Definition Language statement such as ALTER TABLE Table1 ALTER COLUMN EmailAddress ADD MASKED WITH (FUNCTION = 'email()'). The stored data does not change, because masking is applied to query results at run time. Existing queries keep working unchanged and simply return masked values, and the permissions users already hold on Warehouse1 stay as they are, which satisfies all three requirements.

Why the other options are wrong

  • A. DCL statements such as GRANT and DENY change permissions, which the requirements explicitly rule out.
  • B. A dynamic management view only reports on system state; it cannot define a mask on a column.
  • D. DML statements such as UPDATE change the stored data, which violates the requirement not to change data in Warehouse1.

Question 36

You have a Fabric workspace named Workspace1 that uses version control. Workspace1 and Azure DevOps are integrated.

In Azure DevOps, developers create a branch named Branch1 to test extract, transform, and load (ETL) updates.

You need to connect Workspace1 to Branch1. The solution must ensure that all the existing content in Branch1 is available in Workspace1.

What should you do?

  1. From Workspace1, select Source control, and then select Sync.
  2. From Workspace1, select Source control, select Current branch, select Branch1, and then select Commit.
  3. From Azure DevOps, merge the contents of the main branch into Branch1.
  4. From Workspace1, select Source control, and then select Branch out to new workspace.
Show answer and explanation

Correct answer: B. From Workspace1, select Source control, select Current branch, select Branch1, and then select Commit.

Workspace1 is already connected to Azure DevOps, so it can be pointed at a different existing branch from the Source control pane by changing the current branch to Branch1 and confirming the change. Switching branches syncs the workspace with the selected branch and replaces the items in the workspace with the content stored in that branch, which makes all existing Branch1 content available in Workspace1. This keeps the same workspace and connects it directly to the branch the developers created for testing the ETL updates.

Why the other options are wrong

  • A. Sync only aligns Workspace1 with the branch it is already connected to; it does not connect the workspace to Branch1.
  • C. Merging main into Branch1 changes the branch contents in Azure DevOps but leaves Workspace1 connected to its current branch.
  • D. Branch out to new workspace creates a new Git branch and connects a different workspace to it, so Workspace1 is never connected to the existing Branch1.

Question 37

You have a Fabric workspace that contains a lakehouse named Lakehouse1. Lakehouse1 contains a table named Table1.

You need to ensure that a user named User1 can view only specific rows in Table1.

What should you do first?

  1. Create a security predicate.
  2. Create a function.
  3. Create a security policy.
  4. Grant User1 the SELECT permission for Table1.
Show answer and explanation

Correct answer: B. Create a function.

Row-level security on a lakehouse table is enforced through the SQL analytics endpoint by using T-SQL. The filtering logic lives in an inline table-valued function that returns a row only when the current user is allowed to see it, for example by comparing a column value with USER_NAME(). A security policy then binds that function to Table1 as a filter predicate. Because the security policy must reference an existing function, creating the function is the first step, and the policy that applies it to Table1 comes afterward.

Why the other options are wrong

  • A. A security predicate is not a standalone object; it is declared inside a security policy and must point to a function that already exists.
  • C. A security policy is created after the function, because its filter predicate must reference that existing inline table-valued function.
  • D. SELECT on Table1 lets User1 read every row; it does not restrict which rows User1 can see.

Question 38

Note: This question is part of a series of questions that present the same scenario. Each question in the series contains a unique solution that might meet the stated goals. Some question sets might have more than one correct solution, while others might not have a correct solution.

After you answer a question in this section, you will NOT be able to return to it. As a result, these questions will not appear in the review screen.

You have an Azure key vault named KeyVault1 that contains secrets.

You have a Fabric workspace named Workspace1. Workspace1 contains a notebook named Notebook1 that performs the following tasks:

• Loads stage data to the target tables in a lakehouse

• Triggers the refresh of a semantic model

You plan to add functionality to Notebook1 that will use the Fabric API to monitor the semantic model refreshes.

You need to retrieve the registered application ID and secret from KeyVault1 to generate the authentication token.

Solution: You use the following code segment:

Use notebookutils.credentials.putSecret and specify the key vault URL and the name of a linked service.

Does this meet the goal?

  1. Yes
  2. No
Show answer and explanation

Correct answer: B. No

This solution does not meet the goal. The notebook must read the registered application ID and secret that already exist in KeyVault1. notebookutils.credentials.putSecret writes a secret into a key vault rather than reading one, so it cannot return the values needed to request the authentication token. Reading a secret is done with notebookutils.credentials.getSecret, which takes the key vault URL and the secret name and runs under the identity of the user or the notebook execution context. A linked service name is also not the parameter used to reach Azure Key Vault from a Fabric notebook.

Why the other options are wrong

  • A. putSecret stores a secret in the vault instead of retrieving one, so the notebook never obtains the application ID and secret it needs.

Question 39

You have a Fabric workspace that contains a lakehouse and a semantic model named Model1.

You use a notebook named Notebook1 to ingest and transform data from an external data source.

You need to execute Notebook1 as part of a data pipeline named Pipeline1. The process must meet the following requirements:

Run daily at 07:00 AM UTC.

Attempt to retry Notebook1 twice if the notebook fails.

After Notebook1 executes successfully, refresh Model1.

Which three actions should you perform? Each correct answer presents part of the solution.

NOTE: Each correct selection is worth one point.

  1. Place the Semantic model refresh activity after the Notebook activity and link the activities by using the On success condition.
  2. From the Schedule settings of Pipeline1, set the time zone to UTC.
  3. Set the Retry setting of the Notebook activity to 2.
  4. From the Schedule settings of Notebook1, set the time zone to UTC.
  5. Set the Retry setting of the Semantic model refresh activity to 2.
  6. Place the Semantic model refresh activity after the Notebook activity and link the activities by using an On completion condition.
Show answer and explanation

Correct answer: A, B, C. Place the Semantic model refresh activity after the Notebook activity and link the activities by using the On success condition; From the Schedule settings of Pipeline1, set the time zone to UTC; Set the Retry setting of the Notebook activity to 2.

Pipeline1 orchestrates the process, so its schedule is where the 07:00 AM run and its UTC time zone are set. The retry requirement applies to the notebook, so the Notebook activity's Retry setting is set to 2, which makes the service attempt it two more times after a failure. Model1 must refresh only after Notebook1 succeeds, so the Semantic model refresh activity is placed after the Notebook activity and connected with the On success dependency. Together these settings meet the timing, retry and sequencing requirements inside a single pipeline.

Why the other options are wrong

  • D. Scheduling the notebook on its own would run it outside Pipeline1, so the pipeline's retry and refresh logic would not apply.
  • E. The retry requirement is for Notebook1, not for the semantic model refresh.
  • F. On completion runs the refresh whether the notebook succeeds or fails, which breaks the requirement to refresh only after success.

Question 40

You have a Fabric capacity that contains a workspace named Workspace1. Workspace1 contains a lakehouse named Lakehouse1, a data pipeline, a notebook, and several Microsoft Power BI reports. A user named User1 wants to use SQL to analyze the data in Lakehouse1.

You need to configure access for User1. The solution must meet the following requirements:

Provide User1 with read access to the table data in Lakehouse1.

Prevent User1 from using Apache Spark to query the underlying files in Lakehouse1.

Prevent User1 from accessing other items in Workspace1.

What should you do?

  1. Share Lakehouse1 with User1 directly and select Read all SQL endpoint data.
  2. Assign User1 the Viewer role for Workspace1. Share Lakehouse1 with User1 and select Read all SQL endpoint data.
  3. Share Lakehouse1 with User1 directly and select Build reports on the default semantic model.
  4. Assign User1 the Member role for Workspace1. Share Lakehouse1 with User1 and select Read all SQL endpoint data.
Show answer and explanation

Correct answer: A. Share Lakehouse1 with User1 directly and select Read all SQL endpoint data.

Sharing a single lakehouse gives User1 access to that item only, without a workspace role, so the other items in Workspace1 stay out of reach. Selecting Read all SQL endpoint data grants the ReadData permission, which lets User1 query the tables through the SQL analytics endpoint with T-SQL. Because the Read all Apache Spark permission (ReadAll) is left cleared, User1 cannot use Spark to read the underlying files in OneLake. This single sharing action meets all three requirements with the least access.

Why the other options are wrong

  • B. The Viewer workspace role grants read access to every item in Workspace1, which breaks the requirement to keep User1 away from the other items.
  • C. Build permission on the default semantic model lets User1 create reports, not run SQL queries against the lakehouse tables.
  • D. The Member role grants broad edit and share rights across all items in Workspace1, far beyond read access to one lakehouse.

That was 40 of 161.

The full Microsoft DP-700 pack has all 161 questions, each with the answer, the explanation and why the other options are wrong, plus a questions-only copy for timed runs. US$39, paid once, with free monthly updates and a pass-or-your-money-back guarantee.

Get the full pack

Not ready yet? Get the first 80 free as one PDF by email. Get the Half Pack →