Free DP-700 Practice Test Questions and Answers (2026)

Last Update Check
View Mode
Q: 1
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?
Options
24 comments in the community discussion
2
Seen similar on practice exams and the official guide, this scenario matches up with option B for data pipeline.
2
Option B see similar question in official practice and the docs cover scheduling pipelines.
Q: 2
You are implementing a medallion architecture in a Fabric lakehouse. You plan to create a dimension table that will contain the following columns: • ID • CustomerCode • CustomerName • CustomerAddress • CustomerLocation • ValidFrom • ValidTo You need to ensure that the table supports the analysis of historical sales data by customer location at the time of each sale Which type of slowly changing dimension (SCD) should you use?
Options
25 comments in the community discussion
1
A . You need to keep the full change history for customer locations so sales can be analyzed based on where the customer was when each sale occurred. D only gives you a limited snapshot, easy to overlook that. Agree?
1
These SCD types always get confusing with Microsoft wording, is D (Type 3) ever enough for historic location like this?
Q: 3
You have a Fabric workspace that contains a takehouse 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.
Options
25 comments in the community discussion
2
Probably A, C, E. Pipeline has the main schedule and retry logic, and you only want the semantic model to refresh if the notebook finishes successfully. Pretty standard Fabric pipeline setup.
1
Scheduling and retries only make sense at the pipeline level, so E is correct here rather than D. On success (C) for the dependency makes sure Model1 only refreshes if Notebook1 runs without error. A, C, E are it, pretty sure.
Q: 4
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?
Options
22 comments in the community discussion
8
Option D - the question is clear here. Similar question showed up in practice, this matches what’s expected.
5
D . Official docs and hands-on labs point to Fabric Monitor for checking detailed Spark session info, including library versions like Delta. Always found those details there, never in the Admin monitoring workspace. If someone has seen otherwise in recent exams, let me know.
Q: 5
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?
Options
24 comments in the community discussion
6
C . Fact tables that big need V-Order for better query speed and less cost. Anyone else unsure?
5
Guessing C here. Option C lines up with what I've seen mentioned about Direct Lake performance, especially as tables get huge. Not 100 percent confident since sometimes MS changes stuff in these questions, but C looks best given both speed and cost focus. Open to other takes.
Q: 6
You need to schedule the population of the medallion layers to meet the technical requirements. What should you do?
Options
26 comments in the community discussion
2
These tricky sequencing questions again... Its A, single orchestrating pipeline is what the exam wants here.
1
Makes sense to pick A since medallion layer processing needs ordered execution. One orchestrator pipeline can manage those dependencies so Bronze finishes before Silver starts, and so on. Pretty sure that's what Microsoft expects here. Anyone see it differently?
Q: 7
You have a Fabric workspace that contains a warehouse named Warehouse1. While monitoring Warehouse1, you discover that query performance has degraded during the last 60 minutes. You need to isolate all the queries that were run during the last 60 minutes. The results must include the username of the users that submitted the queries and the query statements. What should you use?
Options
19 comments in the community discussion
1
I'd say C here. Query activity should display recent queries, including user info and statements, so for something within the last 60 minutes it likely covers what's needed unless retention is super short. Not seeing why queryinsights is the only choice unless they want deep historical data.
1
C/D? Query activity shows recent queries, so I'd think it covers the last hour for most cases.
Q: 8
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?
Options
26 comments in the community discussion
6
D . Both old and new eventhouse data gets copied once OneLake is enabled, not just a snapshot or future changes.
2
Its B. Was under the impression enabling OneLake grabs just the current eventhouse data. Option D feels like a trap here.
Q: 9
You have a Fabric workspace that contains an eventstream named EventStream1. EventStream1 outputs events to a table in a lakehouse. You need to remove files that are older than seven days and are no longer in use. Which command should you run?
Options
26 comments in the community discussion
6
Option A is right, VACUUM is the command that cleans up files older than the retention period in Delta tables. OPTIMIZE helps with file organization but doesn’t delete unused data. I’m pretty sure on this, unless there’s some custom retention policy hiding in the question.
1
C
Q: 10

HOTSPOT You have an Azure Event Hubs data source that contains weather data. You ingest the data from the data source by using an eventstream named Eventstream1. Eventstream1 uses a lakehouse as the destination. You need to batch ingest only rows from the data source where the City attribute has a value of Kansas. The filter must be added before the destination. The solution must minimize development effort. What should you use for the data processor and filtering? To answer, select the appropriate options in the answer area. NOTE: Each correct selection is worth one point. DP-700 question

Your Answer
25 comments in the community discussion
6
Makes sense to use an eventstream with an external data source for the processor since Event Hubs is treated as external in Fabric. For filtering, I’d also pick eventstream processor because it’s built-in and low-code. Pretty sure that's what Microsoft recommends, but open if anyone ha
6
External data source and eventstream processor-"internal" is a common distractor here, but for Event Hubs it's external in Fabric terms.
Q: 11

HOTSPOT You have three users named User1, User2, and User3. You have the Fabric workspaces shown in the following table. DP-700 question You have a security group named Group1 that contains User1 and User3. The Fabric admin creates the domains shown in the following table. DP-700 question User1 creates a new workspace named Workspace3. You add Group1 to the default domain of Domain1. For each of the following statements, select Yes if the statement is true. Otherwise, select No. NOTE: Each correct selection is worth one point. DP-700 question

Your Answer
9 comments in the community discussion
6
I don't think domain contributor automatically means workspace access. For Statement 1, User3 isn't a viewer on Workspace3 unless they're explicitly added at that level, even though they're in Group1. That's a common trap here. No, Yes, No for me.
6
No, Yes, No. Had something like this in a mock-domain contributor access is given when you add a group to the domain, but that doesn't automatically give workspace roles to members. User3 isn't viewer on Workspace3 unless explicitly added. Pretty sure about these picks but let me know if there's another angle.
Q: 12

HOTSPOT You have a Fabric workspace named Workspace1_DEV that contains the following items: 10 reports Four notebooks Three lakehouses Two data pipelines Two Dataflow Gen1 dataflows Three Dataflow Gen2 dataflows Five semantic models that each has a scheduled refresh policy You create a deployment pipeline named Pipeline1 to move items from Workspace1_DEV to a new workspace named Workspace1_TEST. You deploy all the items from Workspace1_DEV to Workspace1_TEST. For each of the following statements, select Yes if the statement is true. Otherwise, select No. NOTE: Each correct selection is worth one point. DP-700 question

Your Answer
11 comments in the community discussion
5
All three are No here. Deployment pipelines just move metadata, not actual data or schedules. Official docs and practice exams back this up if you want to double-check.
3
Yeah, all No here. Data, Gen1 dataflows, and refresh policy settings aren't pushed over with deployment pipelines.
Q: 13

HOTSPOT You have a Fabric workspace that contains a warehouse named Warehouse!. Warehousel contains a table named DimCustomers. DimCustomers contains the following columns: • CustomerName • CustomerlD • BirthDate • Email You need to configure security to meet the following requirements: • BirthDate in DimCustomer must be masked and display 1900-01-01. • Email in DimCustomer must be masked and display only the first leading character and the last five characters. How should you complete the statement? To answer, select the appropriate options in the answer area. NOTE: Each correct selection is worth one point. DP-700 question

Your Answer
8 comments in the community discussion
5
'default()' for BirthDate works since that's how Microsoft masks dates to 1900-01-01. For Email, 'partial(1, "@", 5)' lets you show the first character and last five as asked. Pretty sure that's what the question wants, but open if I missed a trick.
1
Honestly, Microsoft really doesn't make this straightforward. default() for BirthDate since it outputs 1900-01-01 as needed, partial(1, "@", 5) for Email.
Q: 14

HOTSPOT You are processing streaming data from an external data provider. You have the following code segment. DP-700 question For each of the following statements, select Yes if the statement is true. Otherwise, select No. NOTE: Each correct selection is worth one point. DP-700 question

Your Answer
17 comments in the community discussion
6
Yeah, that top row tricked me too at first but it's definitely No Yes Yes for this one.
6
Oh wow, trickier than it looks. The answer is: No, Yes, Yes. I checked the image and that 'sort by Location desc' means Washington DC rows are first, not New York, so Litware NY can't be at the top. Fabrikam Seattle is rank 2 because it's tied with Litware for UnitsSold in Seattle (after Contoso at 300). Litware SF and
Q: 15

HOTSPOT You have a Fabric workspace named Workspace1 that contains a warehouse named Warehouse2. A team of data analysts has Viewer role access to Workspace1. You create a table by running the following statement. DP-700 question You need to ensure that the team can view only the first two characters and the last four characters of the Creditcard attribute. How should you complete the statement? To answer, select the appropriate options in the answer area. NOTE: Each correct selection is worth one point. DP-700 question

Your Answer
9 comments in the community discussion
6
Not CREATE, it’s ALTER for both boxes since the table/column exist already. PARTIAL is the function that lets you show prefix and suffix, so makes sense here. CREATE would be a trap if you missed that detail.
5
ALTER, ALTER, PARTIAL. This combo matches the need to add dynamic data masking on an existing table and column, using the mask that reveals only some digits. Official docs and practice questions both stress using PARTIAL here. If I missed any detail let me know.
Q: 16

HOTSPOT You need to recommend a Fabric streaming solution that will use the sources shown in the following table. DP-700 question The solution must minimize development effort. What should you include in the recommendation for each source? To answer, select the appropriate options in the answer area. NOTE: Each correct selection is worth one point. DP-700 question

Your Answer
9 comments in the community discussion
1
Nah, I think Eventstream is the better call for all sources. Minimizing development effort usually means picking low-code when you can, and maybe the message size limit could be worked around depending on the ingestion scenario. Am I missing some technical blocker?
Hmm, I'd pick Eventstream for all three sources. Saw a similar question in practice and minimizing dev effort usually takes priority.
Q: 17

HOTSPOT You are building a data orchestration pattern by using a Fabric data pipeline named Dynamic Data Copy as shown in the exhibit. (Click the Exhibit tab.) DP-700 question Dynamic Data Copy does NOT use parametrization. You need to configure the ForEach activity to receive the list of tables to be copied. How should you complete the pipeline expression? To answer, select the appropriate options in the answer area. NOTE: Each correct selection is worth one point. DP-700 question

Your Answer
11 comments in the community discussion
6
Lookup Schema and Table, output.value
5
Yep, it's Lookup Schema and Table for the activity name, then output.value for the property. Pretty standard pattern in Fabric pipelines.
Q: 18

DRAG DROP You have two Fabric notebooks named Load_Salesperson and Load_Orders that read data from Parquet files in a lakehouse. Load_Salesperson writes to a Delta table named dim_salesperson. Load.Orders writes to a Delta table named fact_orders and is dependent on the successful execution of Load_Salesperson. You need to implement a pattern to dynamically execute Load_Salesperson and Load_Orders in the appropriate order by using a notebook. How should you complete the code? To answer, drag the appropriate values the correct targets. Each value may be used once, more than once, or not at all. You may need to drag the split bar between panes or scroll to view content. NOTE: Each correct selection is worth one point. DP-700 question

Drag & Drop
10 comments in the community discussion
1
660, ": dependencies notebook.: runMultiple The trap is mixing up 'activities', but 'dependencies' sets the order. Pretty sure that's it.
1
660, ": dependenciesnotebook.: runMultiplePretty sure that works because you define execution order with dependencies and use runMultiple to trigger the workflow with the right sequence. That matches how notebook DAGs run in Fabric, at least from what I've seen. If there's a newer
Q: 19

DRAG DROP You have a Fabric . In Warehouse1, you create a table named DimCustomer by running the following statement. DP-700 question You need to set the Customerkey column as a primary key of the DimCustomer table. Which three code segments should you run in sequence? To answer, move the appropriate code segments from the list of code segments to the answer area and arrange them in the correct order. DP-700 question

Drag & Drop
7 comments in the community discussion
6
ALTER TABLE dbo. DimCustomer, ADD CONSTRAINT PK_DimCustomer PRIMARY KEY NONCLUSTERED, NOT ENFORCED. Super clear question order here.
5
Yeah, for Fabric warehouses you go with ALTER TABLE dbo. DimCustomer, ADD CONSTRAINT PK_DimCustomer PRIMARY KEY NONCLUSTERED, NOT ENFORCED. Only NONCLUSTERED and NOT ENFORCED are supported for primary keys here, pretty sure. Anyone see reason to pick a different order?
Q: 20

DRAG DROP You have a Fabric eventhouse that contains a KQL database. The database contains a table named TaxiData. The following is a sample of the data in TaxiData. You need to build two KQL queries. The solution must meet the following requirements: One of the queries must partition RunningTotalAmount by VendorID. The other query must create a column named FirstPickupDateTime that shows the first value of each hour from tpep_pickup_datetime partitioned by payment_type. How should you complete each query? To answer, drag the appropriate values the correct targets. Each value may be used once, more than once, or not at all. You may need to drag the split bar between panes or scroll to view content. NOTE: Each correct selection is worth one point.

Drag & Drop
6 comments in the community discussion
4
RunningTotalAmount = Row_cumsum, FirstPickupDateTime = Row_window_session. Row_cumsum gives you that rolling sum partitioned on VendorID, which matches the requirement. For the hourly grouping by payment_type, row_window_session is used to grab the first pickup datetimes for each group/session window. That's how I've s
1
RunningTotalAmount = Row_cumsum, FirstPickupDateTime = Row_window_session. This matches what the official docs and labs show, at least from practice.
Question 1 of 20

Premium Access Includes

  • Quiz Simulator
  • Exam Mode
  • Progress Tracking
  • Question Saving
  • Flash Cards
  • Drag & Drops
  • 3 Months Access
  • PDF Downloads
Get Premium Access
Scroll to Top