Limited-Time Offer: Enjoy 50% Savings! - Ends In 0d 00h 00m 00s Coupon code: 50OFF
Free Exam Questions

DP-800 Exam Questions & Answers

Developing AI-Enabled Database Solutions  •  Microsoft

61 Questions Updated Sep 2026 99% Pass Rate
Get Full Access

100% money-back guarantee

Sample DP-800 Questions

Practice with real exam-style questions, each with the verified correct answer and explanation.

Q1 MultipleChoice

You have an Azure SQL table that contains the following data.

You need to retrieve data to be used as context for a large language model (LLM). The solution must minimize token usage.

Which formal should you use to send the data to the LLM?

A)

B)

C)

D)

Correct Answer: A
Explanation:

The correct choice is Option A because it provides the relevant semantic context the LLM needs while avoiding an unnecessary field that would add tokens without improving answer quality.

For LLM grounding and RAG-style context, Microsoft guidance emphasizes mapping and sending the fields that contain text pertinent to the use case. In this FAQ scenario, the useful context is the ProductName, the Question, and the Answer. Those three fields help the model understand both the subject domain and the actual Q&A pair. By contrast, FaqId is just a technical identifier and generally adds no semantic value for response generation, so including it wastes tokens.

That is why Option A is better than the others:

Option A keeps the meaningful text fields and removes the low-value identifier.

Option B is too minimal because it includes only the answer text as Prompt, which strips away the product and question context the LLM may need for accurate grounding.

Option C keeps FaqId but omits ProductName, which can be important disambiguating context.

Option D includes everything, but that does not minimize token usage because it keeps the unnecessary FaqId.

Q2 MultipleChoice

You have an Azure SQL database that contains a table named dbo.ManualChunks. dbo.HonualChunks contains product manuals

A retrieval query already returns the top five matching chunks as nvarchar(max) text.

You need to call an Azure OpenAI REST endpomt for chat completions. The request body must include both the user question and theretiieved chunks.

You write the following Transact-SQL code.

What should you insert at line 22?

Correct Answer: D
Explanation:

The correct insertion at line 22 is FOR JSON PATH, WITHOUT_ARRAY_WRAPPER.

The request body for the Azure OpenAI chat completions call must be a single JSON object containing the messages array with both the system/user content and the retrieved chunks. Microsoft documents that FOR JSON PATH is the preferred way to shape JSON output, especially when you want precise control over nested property names like messages[0].role and messages[1].content.

The key detail is WITHOUT_ARRAY_WRAPPER. By default, FOR JSON returns results enclosed in square brackets as a JSON array. Microsoft documents that WITHOUT_ARRAY_WRAPPER removes those brackets so a single JSON object is produced instead. That is exactly what is needed here for @payload, because the stored procedure is building one request body, not an array of request bodies.

Q3 MultipleChoice

You have an SDK-style SQL database project stored in a Git repository. The project targets an Azure SQL database.

The CI build fails with unresolved reference errors when the project references system objects.

You need to update the SQL database project to ensure that dotnet build validates successfully by including the correct system objects in the database model for Azure SQL Database.

Solution: Add the Microsoft.SqlServer.Dacpacs.Azure.Master NuGet package to the project.

Does this meet the goal?

Correct Answer: A
Explanation:

This does meet the goal. Microsoft documents that SDK-style SQL projects can add the master.dacpac database reference as a package reference, and for Azure SQL Database the correct package is the Azure-specific master DACPAC package. The Azure SQL system DACPACs are available through NuGet, and this is the recommended way to include the right system objects in the database model for dotnet build validation.

So for an SDK-style SQL database project that targets Azure SQL Database, adding Microsoft.SqlServer.Dacpacs.Azure.Master is the correct fix for unresolved references to system objects.

Q4 MultipleChoice

You have a SQL database in Microsoft Fabric that contains a column named Payload. pay load 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, user! + promo@contoso.com must be normalized to userl@contoso.com.

Which Transact SQL expression should you use?

Correct Answer: C
Explanation:

The correct answer is C because the email must be normalized by removing only the subaddressing portion between the plus sign and the @, while preserving the domain. JSON_VALUE is the correct function to extract the scalar email value from the JSON document. Microsoft states that JSON_VALUE is used to extract a scalar value from JSON text.

Then REGEXP_REPLACE should remove the pattern \+.*@ and replace it with a single @. For example:

user1+promo@contoso.com user1@contoso.com

Microsoft documents that REGEXP_REPLACE returns the source string with text matching the regular expression replaced by the replacement string, and that an empty or custom replacement string can be used to reshape the result.

Why the other options are wrong:

A removes everything from + to the end of the string, which would leave user1 and lose @contoso.com.

B tries to extract a string that already excludes +..., but it does not reliably reconstruct the normalized address in this pattern.

D also removes everything after +, including the domain, which is incorrect.

So the normalized-email expression is:

REGEXP_REPLACE(JSON_VALUE(Payload, '$.customer_email'), '\+.*@', '@')

Q5 MultipleChoice

You have an Azure SQL database That contains database-level Data Definition Language (DDL) triggers, including a trigger named ddl_Audit.

You need to prevent ddl_Audit from firing during the next deployment. The trigger object must remain in place.

Which Transact-SQL statement should you use?

Correct Answer: D
Explanation:

The requirement is very specific: prevent ddl_Audit from firing during the next deployment, but leave the trigger object in place. Microsoft documents DISABLE TRIGGER as the statement used to disable a trigger without dropping it. That is exactly the right operation for a temporary suspension of a DDL trigger. For a database-scoped DDL trigger, the syntax is on the database scope, for example DISABLE TRIGGER ddl_Audit ON DATABASE;.

The other options do not meet the requirement as directly:

ALTER TRIGGER changes the trigger definition, not simply disables execution.

ALTER DATABASE is not the direct statement for disabling a specific DDL trigger.

ALTER SERVER AUDIT SPECIFICATION and ALTER DATABASE AUDIT SPECIFICATION are audit-feature statements, not trigger-control statements.

So the correct Transact-SQL statement is DISABLE TRIGGER.

Get access to all 61 verified questions with detailed answers.

Unlock All DP-800 Questions

Frequently Asked Questions

Microsoft recommends having at least 2-3 years of experience working with data platforms and cloud technologies. You should have foundational knowledge of Azure services, database concepts, and ideally some experience with AI/machine learning implementations before attempting this exam.

The DP-800 exam typically lasts 120 minutes and contains between 40-60 questions in various formats including multiple choice, case studies, and scenario-based questions. The exact number may vary slightly between exam instances.

The exam covers designing and implementing data solutions that incorporate AI capabilities, including working with Azure services like Azure Cosmos DB, Azure SQL Database, and Azure Machine Learning. It also includes topics on data integration, security, performance optimization, and implementing AI solutions within database environments.

The DP-800 is designed as an expert-level certification exam that builds upon foundational Azure knowledge and data platform experience. It is more advanced than associate-level exams and is intended for professionals with significant hands-on experience in cloud and AI-enabled database solutions.

You need to achieve a scaled score of 700 out of 1000 to pass the DP-800 exam. The passing score may be adjusted occasionally by Microsoft, so it's important to check the official exam page for the most current passing score requirement.
Exam Details
  • Exam CodeDP-800
  • VendorMicrosoft
  • Total Questions61
  • LanguageEnglish
  • Last UpdatedSep 3, 2026
4.9/5

Pass DP-800 First Time

Get all 61 exam questions with verified answers and 90-day free updates.

Buy Now & Pass
  • PDF + Practice Test Bundle
  • 90-Day Free Updates
  • 100% Money-Back Guarantee
  • Instant Download
  • 24/7 Customer Support
99% Pass Rate Trusted by 50,000+ IT professionals