MICROSOFT · DP-800

Microsoft DP-800 Exam Practice Questions

101 questionsPDF by emailUpdated September 2026

US$39

Try 10 questions free

Card, Apple Pay or Google Pay. Your PDF is sent by email as soon as you check out.

Pass or your money backFail the exam after using this pack and we refund it. How the guarantee works
Category:
TRY BEFORE YOU BUY

Three of the 101 questions in this pack

Question 1

Your team is developing an Azure SQL dataset solution from a locally cloned GitHub repository by using Microsoft Visual Studio Code and GitHub Copilot Chat.

You need to disable the GitHub Copilot repository-level instructions for yourself without affecting other users.

What should you do?

  1. From Visual Studio Code, modify your GitHub Copilot Chat user settings.
  2. Add a --debug flag when you start the GitHub Copilot Chat extension.
  3. Delete .github/copilot-instructions.md.
Show answer and explanation

Correct answer: A. From Visual Studio Code, modify your GitHub Copilot Chat user settings.

Chat user settings. GitHub Copilot repository-level instructions in .github/copilot-instructions.md apply globally to all users by default. To disable them for yourself without affecting others, you modify your personal GitHub Copilot Chat user settings in Visual Studio Code, which allows individual users to override repository-level instructions at the user level.

Why the other options are wrong

  • B. The --debug flag is used for debugging extension behavior, not for disabling repository-level instructions.
  • C. Deleting the file would affect all users, not just yourself, which violates the requirement to not affect other users.

Question 2

You have an Azure SQL database that contains the following SQL graph tables:

• A NODE table named dbo. Person

• An EDGE table named dbo. Knows

Each row in dbo. Person contains the following columns:

PersonID (int) DisplayName (nvarchar(100)) You need to use a MATCH operator and exactly two directed Knows relationships to return the PersonID and DisplayName of people that are reachable from the person identified by an input parameter named @StartPersonId.

Which Transact-SQL query should you use?

Exhibit for question 2

Show answer and explanation

Correct answer: D. SELECT p3.PersonId, p3.DisplayName FROM

dbo.Person AS p1, dbo.Knows AS k1, dbo.Person AS p2, dbo.Knows AS k2, dbo.Person AS p3 WHERE p1.PersonId = @StartPersonId AND MATCH(p1-(k1)- >p2-(k2)->p3); The query requires exactly two directed Knows relationships to find people reachable from @StartPersonId. Option D correctly uses a single MATCH clause with the path p1-(k1)- >p2-(k2)->p3, which represents two consecutive directed edges: the first Knows relationship from p1 to p2, and the second from p2 to p3. The WHERE clause filters to start from @StartPersonId and returns p3's PersonId and DisplayName, which are the people reachable through exactly two hops. The syntax properly chains the relationships in one MATCH expression, which is the correct way to specify a multi-hop path in SQL graph queries.

Why the other options are wrong

  • A. This query selects p2 instead of p3, which would only reach people at one hop distance, not two, and it incorrectly filters on DisplayName equality.
  • B. This query uses backwards arrows (p3<-(k2)-p2<-(k1)-p1) indicating reverse direction and uses multiple separate MATCH clauses rather than a single chained path, which is not the correct syntax for this requirement.
  • C. This query uses two separate MATCH clauses instead of chaining them into a single path expression, which is not the proper syntax for expressing a multi-hop relationship in SQL graph.

Question 3

You have a SQL database in Microsoft Fabric that contains a column named Payload. Payload stores customer data in JSON documents that have the following format.

Data analysis shows that some customers have subaddressing in their email address, for example, user1+promo@contoso.com.

You need to return a normalized email value that removes the subaddressing, for example, user1 +promo@contoso.com must be normalized to user1@contoso.com.

Which Transact-SQL expression should you use?

Exhibit for question 3

  1. REGEXP_REPLACE(JSON_VALUE(Payload, ‘$.customer_email’), ‘+.*$’, ‘’)
  2. REGEXP_SUBSTR(JSON_VALUE(Payload, ‘$.customer_email’), ‘^[^+]+@.*$=’)
  3. REGEXP_REPLACE(JSON_VALUE(Payload, ‘$.customer_email’), ‘+.*@’, ‘@’)
  4. REGEXP_REPLACE(JSON_VALUE(Payload, ‘$.customer_email’), ‘+.*’, ‘’)
Show answer and explanation

Correct answer: A. REGEXP_REPLACE(JSON_VALUE(Payload, ‘$.customer_email’), ‘+.*$’, ‘’)

‘$.customer_email’), ‘+.*$’, ‘’) The task requires extracting the customer email from the JSON Payload using JSON_VALUE(Payload, '$.customer_email'), then removing the subaddressing portion (everything from the '+' character to just before the '@' symbol). Option A uses REGEXP_REPLACE with the pattern '+.*$' which matches the '+' character followed by any characters until the end of the string, replacing this entire portion with an empty string. This correctly transforms 'user1+promo@contoso.com' to 'user1@contoso.com'. This is the correct approach because it removes the '+' and everything after it up to the end, leaving only the local part before any '+' and the domain intact.

Why the other options are wrong

  • B. REGEXP_SUBSTR is a function for extracting substrings, not replacing; additionally, the pattern and syntax are incorrect for this normalization task.
  • C. This pattern '+.*@' matches from '+' to '@' inclusive and replaces with '@', which would result in 'user1@@contoso.com' (double @), not the desired output.
  • D. This pattern '+.*' matches the '+' and everything after it including the domain, resulting in just 'user1', losing the '@contoso.com' portion entirely.

See all 10 free questions Get the full pack, US$39

101 practice questions for Microsoft SQL AI Developer (DP-800), with full explanations.

Every question comes with the correct answer, the reasoning behind it, and a short note on why each wrong option is wrong. Work through it once with the answers, then again with the questions-only copy under exam conditions.

  • 101 questions mapped to the DP-800 exam objectives
  • Answers and explanations for every question, including the wrong options
  • A questions-only PDF for timed practice runs
  • Instant delivery by email the moment you check out
  • Free monthly updates for as long as the exam is live
  • Pass or your money back

A DP-800 attempt costs US$165 in the US. This pack is US$39, paid once.

Try 10 questions free before you buy.

Last updated September 2026 · 101 questions

What makes the DP-800 hard

DP-800 is the developer exam for the SQL platform, not the administrator one. Where DP-300 tests whether you can run Azure SQL, DP-800 tests whether you can build on SQL Server, Azure SQL and the SQL database in Microsoft Fabric, and then put AI inside it.

The T-SQL is current generation, and that is where people slip. The blueprint names the new JSON type and functions, the REGEXP family, fuzzy matching with EDIT_DISTANCE and JARO_WINKLER_DISTANCE, graph MATCH queries, and the native VECTOR type with VECTOR_DISTANCE, VECTOR_SEARCH, ANN versus ENN, hybrid search and reciprocal rank fusion. The AI domain adds external models, embedding maintenance through Change Tracking, CDC, change event streaming or Azure Functions, and RAG built with sp_invoke_external_rest_endpoint.

The middle domain is the modern delivery chain: Always Encrypted, RLS and Dynamic Data Masking, Query Store and DMVs, SQL Database Projects with SDK-style models and schema drift detection in CI/CD, Data API builder for REST and GraphQL, and GitHub Copilot with MCP servers pointed at SQL Server and Fabric lakehouses. Most of that did not exist when the older SQL exams were written, and because DP-800 is only a few months old there is very little study material in circulation yet.

About the exam

DP-800 (Developing AI-Enabled Database Solutions) leads to Microsoft Certified: SQL AI Developer Associate. It covers designing and developing database objects and advanced T-SQL across SQL Server, Azure SQL and Fabric SQL database, securing, optimising and deploying databases with SQL Database Projects and Data API builder, and implementing embeddings, vector and hybrid search and RAG inside the database. Associate level, no prerequisites. Skills measured as of 12 March 2026.

Exam domains

  • Design and develop database solutions: 35 to 40%
  • Secure, optimise, and deploy database solutions: 35 to 40%
  • Implement AI capabilities in database solutions: 25 to 30%

Passing score 700 out of 1000, US$165 in the US, priced by local currency elsewhere, online proctored or test centre, renews annually for free.

Reviews

There are no reviews yet.

Only logged in customers who have purchased this product may leave a review.

Questions before you buy

What do I get when I buy the Microsoft DP-800 pack?

101 practice questions as a PDF, each with the correct answer, a full explanation and a note on why the other options are wrong, plus a separate questions-only PDF for timed practice.

How quickly do I receive it?

Your PDF is prepared and sent to your email address after checkout, and you get a confirmation as soon as it is on its way.

Is there a free sample?

Yes. Ten questions from this pack, with answers and explanations, are free on this page and as a PDF, so you can judge the quality before you pay.

Are updates included?

Yes. The pack is updated every month for as long as the exam is live, and updates are free for everyone who has bought it.

What if I fail the exam?

We refund the pack. Sit the exam 7 to 30 days after buying, then send your official score report within 7 days of the exam date, as set out in the refund policy.

Can I share it with colleagues?

Each purchase is licensed to one person. For a team, school or training organisation, email support@certstash.com for a licence that fits.