Question 432 of 851
Design and develop data processingmediumMultiple ChoiceObjective-mapped

Avoid Duplicates in SQL Sink with Upsert in Azure Data Factory

This DP-203 practice question tests your understanding of design and develop data 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.

Exhibit

Azure Data Factory pipeline JSON snippet:

{
    "name": "CopyDataPipeline",
    "activities": [
        {
            "name": "CopyFromBlobToSQL",
            "type": "Copy",
            "inputs": [{"referenceName": "BlobDS", "type": "DatasetReference"}],
            "outputs": [{"referenceName": "SQLDS", "type": "DatasetReference"}],
            "typeProperties": {
                "source": {
                    "type": "BlobSource",
                    "recursive": true
                },
                "sink": {
                    "type": "SqlSink",
                    "writeBatchSize": 10000,
                    "preCopyScript": "TRUNCATE TABLE dbo.target"
                },
                "enableStaging": false,
                "translator": {
                    "type": "TabularTranslator",
                    "columnMappings": {
                        "Id": "Id",
                        "Name": "FullName"
                    }
                }
            }
        }
    ]
}

Refer to the exhibit. A data engineer notices that the target SQL table contains duplicate rows after a pipeline run. Which change to the pipeline configuration would prevent duplicates?

Exhibit

Azure Data Factory pipeline JSON snippet:

{
    "name": "CopyDataPipeline",
    "activities": [
        {
            "name": "CopyFromBlobToSQL",
            "type": "Copy",
            "inputs": [{"referenceName": "BlobDS", "type": "DatasetReference"}],
            "outputs": [{"referenceName": "SQLDS", "type": "DatasetReference"}],
            "typeProperties": {
                "source": {
                    "type": "BlobSource",
                    "recursive": true
                },
                "sink": {
                    "type": "SqlSink",
                    "writeBatchSize": 10000,
                    "preCopyScript": "TRUNCATE TABLE dbo.target"
                },
                "enableStaging": false,
                "translator": {
                    "type": "TabularTranslator",
                    "columnMappings": {
                        "Id": "Id",
                        "Name": "FullName"
                    }
                }
            }
        }
    ]
}

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

Add a 'Upsert' setting in SqlSink with a key column

The preCopyScript truncates the table before copy, but if the pipeline is run multiple times and truncation fails or is skipped, duplicates can occur. Using upsert semantics or adding a watermark could help, but the simplest fix is to ensure truncation is reliable. However, the best practice is to use a merge/upsert pattern. Among the options, adding a surrogate key and using upsert is most effective.

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.

  • Remove the 'preCopyScript'

    Why it's wrong here

    Removing truncation would actually increase the chance of duplicates on subsequent runs.

  • Change 'writeBatchSize' to 5000

    Why it's wrong here

    Batch size affects performance but not duplicate prevention.

  • Add a 'Upsert' setting in SqlSink with a key column

    Why this is correct

    Upsert ensures that rows are updated or inserted based on a key, preventing duplicates.

    Related concept

    Read the scenario before looking for a memorised answer.

  • Set 'recursive' to false

    Why it's wrong here

    Recursive setting controls whether to read files from subfolders; it does not affect duplicates.

Common exam traps

Common exam trap: answer the scenario, not the keyword

Many certification questions include familiar terms but test a specific constraint. Read the exact wording before choosing an answer that is generally true but wrong for this case.

Detailed technical explanation

How to think about this question

This question should be treated as a scenario, not a definition check. Identify the problem, the constraint and the best action. Then compare each option against those facts.

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.
  • Use explanations to understand the rule behind the answer.

TExam Day Tips

  • Underline the problem statement mentally.
  • 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 cloud solutions architect for a retail company is evaluating services for a new workload. The correct answer here reflects best practice for the specific scenario described — not a general cloud recommendation. Answer the scenario, not the keyword: identify the specific constraint before choosing the most familiar-sounding option. Cloud exam questions reward reading the constraint carefully: the same technology can be right or wrong depending on the use case.

What to study next

Got this wrong? Here's your next step.

Identify which DP-203 exam domain this question belongs to, then review the specific concept being tested. Practise related questions in that domain and focus on understanding why each wrong answer is tempting — not just why the correct answer is right.

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.

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?

Design and develop data processing — This question tests Design and develop data processing — Read the scenario before looking for a memorised answer..

What is the correct answer to this question?

The correct answer is: Add a 'Upsert' setting in SqlSink with a key column — The preCopyScript truncates the table before copy, but if the pipeline is run multiple times and truncation fails or is skipped, duplicates can occur. Using upsert semantics or adding a watermark could help, but the simplest fix is to ensure truncation is reliable. However, the best practice is to use a merge/upsert pattern. Among the options, adding a surrogate key and using upsert is most effective.

What should I do if I get this DP-203 question wrong?

Identify which DP-203 exam domain this question belongs to, then review the specific concept being tested. Practise related questions in that domain and focus on understanding why each wrong answer is tempting — not just why the correct answer is right.

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 →

How Courseiva writes practice questions · Editorial policy

Keep practising

More DP-203 practice questions

Last reviewed: Jun 25, 2026

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.

Loading comments…

Sign in to join the discussion.

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.