- A
Configure the Copy activity sink to use 'upsert' behavior with the unique key columns.
ADF's upsert uses the source to update matching rows and insert new ones, avoiding duplicate key violations.
- B
Change the distribution of the fact table to round-robin and remove the unique constraint.
Why wrong: Removing the unique constraint allows duplicates, which is not acceptable for data integrity, and round-robin distribution may degrade performance.
- C
Use a staging table and then execute a T-SQL MERGE statement to update or insert.
Why wrong: This approach works but is less efficient than using ADF's built-in upsert, and adds complexity.
- D
Add a pre-copy script to delete existing rows that match the incoming data before the copy.
Why wrong: Deleting rows before insert may remove data that is not identical to incoming duplicates, causing data loss.
Quick Answer
The correct answer is to configure the Copy activity sink to use 'upsert' behavior with the unique key columns. This resolves the duplicate key error because Azure Data Factory’s native upsert mode, when paired with a stored procedure sink, automatically updates existing rows on a key conflict instead of failing, preserving all data without manual staging. On the DP-203 exam, this scenario tests your understanding of ADF Copy Activity duplicate key handling in Azure Synapse Analytics, often disguised as a choice between pre-deleting duplicates or using a staging table—both of which add latency. The key trap is assuming you must pre-clean the source; instead, the built-in upsert leverages the existing unique constraint on (DateKey, ProductKey) and the clustered columnstore index for minimal performance impact. Memory tip: “Upsert updates on conflict, no pre-clean needed.”
DP-203 Practice Question: Monitor and optimize data storage and processing
This DP-203 practice question tests your understanding of monitor and optimize data storage and processing. The scenario asks you to isolate a root cause — eliminate options that address a different problem before choosing. After answering, compare your reasoning against the explanation and wrong-answer breakdown below. Once you have made your selection, read the full explanation to reinforce the concept and understand why each distractor is designed to mislead on exam day.
Your company runs a critical data pipeline using Azure Data Factory (ADF) that ingests data from multiple sources into an Azure Synapse Analytics dedicated SQL pool. Recently, you have observed that the pipeline frequently fails with the error: 'Operation for target table failed: 'Cannot insert duplicate key row in object 'dbo.FactSales' with unique index 'PK_FactSales'. The duplicate key value is (20241001, 12345).'' The pipeline uses a Copy activity with a stored procedure sink that merges data into the fact table. The fact table has a clustered columnstore index and a unique constraint on (DateKey, ProductKey). You need to modify the pipeline to handle duplicates without losing data and without impacting performance significantly. What should you do?
Answer choices
Why each option matters
Answer the question above first, then reveal the full breakdown to understand why each option is right or wrong.
Correct answer & explanation
Configure the Copy activity sink to use 'upsert' behavior with the unique key columns.
Option A is correct because Azure Data Factory's Copy activity supports native upsert behavior when using a stored procedure sink, allowing it to handle duplicate key violations by updating existing rows instead of failing. By specifying the unique key columns (DateKey, ProductKey) in the upsert configuration, the pipeline can merge incoming data into the fact table without requiring manual staging or pre-cleanup, minimizing performance impact by leveraging the existing clustered columnstore index and unique constraint.
Key principle: Answer the scenario, not the keyword: identify the specific constraint before choosing the most familiar-sounding option.
Answer analysis
Option-by-option breakdown
For each option: why learners choose it and why it is or isn't the right answer here.
- ✓
Configure the Copy activity sink to use 'upsert' behavior with the unique key columns.
Why this is correct
ADF's upsert uses the source to update matching rows and insert new ones, avoiding duplicate key violations.
Related concept
Read the scenario before looking for a memorised answer.
- ✗
Change the distribution of the fact table to round-robin and remove the unique constraint.
Why it's wrong here
Removing the unique constraint allows duplicates, which is not acceptable for data integrity, and round-robin distribution may degrade performance.
- ✗
Use a staging table and then execute a T-SQL MERGE statement to update or insert.
Why it's wrong here
This approach works but is less efficient than using ADF's built-in upsert, and adds complexity.
- ✗
Add a pre-copy script to delete existing rows that match the incoming data before the copy.
Why it's wrong here
Deleting rows before insert may remove data that is not identical to incoming duplicates, causing data loss.
Common exam traps
Common exam trap: answer the scenario, not the keyword
The trap here is that candidates often overcomplicate the solution by choosing a manual staging table approach (Option C) or a destructive pre-copy script (Option D), not realizing that ADF's native upsert feature is designed specifically to handle duplicate key violations in a performant and atomic manner.
Detailed technical explanation
How to think about this question
The ADF Copy activity's upsert behavior works by generating a dynamic T-SQL MERGE statement under the hood, using the specified key columns to match source and target rows. This approach is efficient because it operates within the same transaction as the copy, avoiding the need for separate staging tables or multiple round trips, and it respects the clustered columnstore index by performing bulk operations where possible. In real-world scenarios, this is particularly useful for incremental loads in data warehouses where duplicate keys from late-arriving data or retries are common.
KKey Concepts to Remember
- Read the scenario before looking for a memorised answer.
- Find the constraint that changes the correct option.
- Eliminate answers that are true in general but not in this case.
TExam Day Tips
- Watch for words such as best, first, most likely and least administrative effort.
- Review why wrong options are wrong, not only why the correct option is correct.
Key takeaway
Answer the scenario, not the keyword: identify the specific constraint before choosing the most familiar-sounding option.
Real-world example
How this comes up in practice
A media company stores terabytes of video archives that are accessed once a year for audit purposes. Moving these objects to a cold storage tier (Azure Archive, S3 Glacier, or Google Nearline) costs a fraction of hot storage. Questions like this test whether you understand storage tiers, access frequency tradeoffs, and retrieval latency requirements.
What to study next
Got this wrong? Here's your next step.
Identify which exam domain this question belongs to, review the core concept, then practise similar questions from the same domain.
- →
Monitor and optimize data storage and processing — study guide chapter
Learn the concepts, then practise the questions
- →
Monitor and optimize data storage and processing practice questions
Targeted practice on this topic area only
- →
All DP-203 questions
846 questions across all exam domains
- →
Microsoft Azure Data Engineer Associate DP-203 study guide
Full concept coverage aligned to exam objectives
- →
DP-203 practice test guide
How to use practice tests most effectively before exam day
Related practice questions
Related DP-203 practice-question pages
Use these pages to review the topic behind this question. This is how one missed question becomes focused revision.
Secure, monitor, and optimize data storage and data processing practice questions
Practise DP-203 questions linked to Secure, monitor, and optimize data storage and data processing.
Design and develop data processing practice questions
Practise DP-203 questions linked to Design and develop data processing.
Design and implement data security practice questions
Practise DP-203 questions linked to Design and implement data security.
Monitor and optimize data storage and processing practice questions
Practise DP-203 questions linked to Monitor and optimize data storage and processing.
Design and implement data storage practice questions
Practise DP-203 questions linked to Design and implement data storage.
Develop data processing practice questions
Practise DP-203 questions linked to Develop data processing.
DP-203 fundamentals practice questions
Practise DP-203 questions linked to DP-203 fundamentals.
DP-203 scenario practice questions
Practise DP-203 questions linked to DP-203 scenario.
DP-203 troubleshooting practice questions
Practise DP-203 questions linked to DP-203 troubleshooting.
Practice this exam
Start a free DP-203 practice session
Short sessions build daily habit. Longer sessions build exam-day stamina. Try a timed session to simulate real conditions.
FAQ
Questions learners often ask
What does this DP-203 question test?
Monitor and optimize data storage and processing — This question tests Monitor and optimize data storage and processing — Read the scenario before looking for a memorised answer..
What is the correct answer to this question?
The correct answer is: Configure the Copy activity sink to use 'upsert' behavior with the unique key columns. — Option A is correct because Azure Data Factory's Copy activity supports native upsert behavior when using a stored procedure sink, allowing it to handle duplicate key violations by updating existing rows instead of failing. By specifying the unique key columns (DateKey, ProductKey) in the upsert configuration, the pipeline can merge incoming data into the fact table without requiring manual staging or pre-cleanup, minimizing performance impact by leveraging the existing clustered columnstore index and unique constraint.
What should I do if I get this DP-203 question wrong?
Identify which exam domain this question belongs to, review the core concept, then practise similar questions from the same domain.
What is the key concept behind this question?
Read the scenario before looking for a memorised answer.
About these practice questions
Courseiva creates original exam-style practice questions with explanations and wrong-answer analysis. It does not publish real exam questions, exam dumps, or protected exam content. Learn why practice questions differ from exam dumps →
Keep practising
More DP-203 practice questions
- You are designing a data storage solution for IoT sensor data. The data is written thousands of times per second and req…
- A data processing job in Azure Synapse Analytics writes results to a table in the dedicated SQL pool. After a failure, t…
- A multinational corporation uses Azure Data Lake Storage Gen2 to store petabytes of parquet files partitioned by date an…
- You are designing a data processing solution in Azure that must handle both batch and streaming data. The solution shoul…
- A company ingests streaming data from IoT devices into Azure Event Hubs. The data must be processed in near real-time to…
- Which TWO actions are appropriate when designing a data processing solution that must meet strict SLAs for latency and t…
Last reviewed: Jun 11, 2026
This DP-203 practice question is part of Courseiva's free Microsoft certification practice question bank. Courseiva provides original exam-style practice questions with explanations, topic-based practice, mock exams, readiness tracking, and study analytics to help learners prepare for the DP-203 exam.
Question Discussion
Share a tip, memory trick, or ask about the reasoning behind this question. Do not post real exam questions, leaked content, braindumps, or copyrighted exam material. Comments are moderated and may be removed without notice.
Sign in to join the discussion.