What the DP-800 exam covers
- Design and develop database solutions260 questions
- Secure, optimize, and deploy database solutions244 questions
- Implement AI capabilities in database solutions205 questions
Free DP-800 practice test questions
A sample of 10 questions with answers and explanations. A free account includes a fixed set of 20 practice questions for this exam, retryable anytime. Paid access unlocks the full 709-question bank.
-
A table must record every change to a row so a query can return the state at any past moment. Which table type provides that natively?
- AA system-versioned temporal tableCorrect
- BAn updatable ledger table
- CA memory-optimized table
- DA table partitioned by period
✓ Correct answer: AA system-versioned temporal table carries period columns and an associated history table that the engine maintains on every update and delete, so FOR SYSTEM_TIME AS OF returns the row exactly as it stood then without any application logic. Ledger tables also record history but exist to prove the data has not been tampered with, which is a different requirement.
Why the other options are wrong- BLedger tables provide cryptographic tamper evidence rather than point-in-time querying as their purpose.
- CMemory-optimized tables keep row versions for concurrency, not as queryable history.
- DPartitioning organizes current data physically and retains no prior versions of a row.
-
A team must measure whether a vector search is returning the right documents. What is the meaningful evaluation?
- AA labelled question set, scored for recallCorrect
- BThe average VECTOR_DISTANCE execution time per query
- CThe count of rows in the DiskANN vector index
- DThe dimension count of the embeddings
✓ Correct answer: ABuilding a set of representative questions with the passages that should be retrieved lets recall be measured directly, which is what makes a change to the chunking, the model or the index comparable rather than a matter of impression. Latency matters too, but a fast search returning the wrong passages is worse than a slow one returning the right ones.
Why the other options are wrong- BTiming VECTOR_DISTANCE measures how fast the comparison runs, not whether the rows it ranked highest were the right ones.
- CThe index's row count describes how much of the corpus was ingested rather than the quality of what comes back.
- DDimension count is a property of the model rather than a measure of quality.
-
A view must always reflect the current definition of its base tables, and a column was added that the view does not show. Why?
- AThe view was defined with an explicit column listCorrect
- BThe view was created WITH SCHEMABINDING and cannot change
- CThe view's cached execution plan has not been recompiled
- DThe base table's statistics have gone stale
✓ Correct answer: AA view listing its columns explicitly returns exactly those, so adding a column to the base table changes nothing - which is the desired behaviour, since it keeps the view's contract stable. A view defined with a wildcard is the case where metadata refresh matters, because its column list was fixed at creation and does not update on its own.
Why the other options are wrong- BSCHEMABINDING blocks an incompatible change to the base table rather than freezing which columns the view projects.
- CRecompiling rebuilds how the query is executed and never changes which columns the view's definition projects.
- DStatistics feed the optimizer's estimates rather than deciding which columns a view returns.
-
A schema must record that an order may have no shipment yet, and never more than one. What expresses it?
- AA one-to-one optional relationship, keyed on the orderCorrect
- BA one-to-many relationship from order to shipment
- CA nullable shipment column on the order table
- DA junction table carrying both keys with its own identity column
✓ Correct answer: AMaking the shipment table's primary key the order identifier allows zero or one shipment per order and makes a second one impossible, so the rule is enforced by the model rather than by code. Keeping shipment in its own table also avoids a wide block of nullable columns on every order that has not shipped.
Why the other options are wrong- BA one-to-many relationship permits the second shipment the rule forbids.
- CA single nullable column cannot carry the several attributes a shipment has.
- DA junction table models many-to-many, and without a unique constraint on the order key it admits exactly the second shipment the rule forbids.
-
An application team must compare a deployed database against the project that should define it. What produces the answer?
- AA schema comparison between the project and the targetCorrect
- BA row count comparison taken against the previous deployment
- CThe deployment history recorded by the release pipeline
- DA backup of the target restored onto a separate server
✓ Correct answer: AA schema comparison lists every object that differs between the source of truth and the deployed database, which is exactly what detecting drift means - the index someone added by hand, the column widened during an incident. The deployment history records what was intended rather than what is actually there now.
Why the other options are wrong- BA row count comparison measures the data a database holds, and drift is a difference between object definitions that leaves the row counts exactly as they were.
- CThe deployment history recorded by the pipeline shows what the pipeline applied, which says nothing about changes made directly against the target afterwards.
- DA backup of the target restored elsewhere reproduces the same drifted schema, so comparing against it cannot reveal how that schema differs from the project.
-
A data platform group must reduce lock contention on a hot table. Which TWO measures help? (Choose TWO)
- AKeeping transactions short and doing external work outside themCorrect
- BRead committed snapshot, so readers do not block writersCorrect
- CEscalating locks to the table sooner with ALTER TABLE SET LOCK_ESCALATION
- DRaising the isolation level to SERIALIZABLE for every reader
- EHolding one transaction open across the whole user session
✓ Correct answer: A, BLock duration is the variable you control most directly, so moving validation, external calls and user interaction outside the transaction shortens the window in which anything can conflict. Row versioning then removes the reader-writer conflict entirely by serving readers a committed version, at the cost of version store activity.
Why the other options are wrong- CLOCK_ESCALATION set to TABLE converts row locks into one table lock sooner, which increases the conflict.
- DSERIALIZABLE takes range locks and holds them to the end of the transaction.
- EA transaction spanning a user's think time is the longest lock duration a design can produce.
-
A solution architect must work out whether to expose the AI feature to every user at once. What is the safer approach?
- AA limited rollout, watching quality and cost before wideningCorrect
- BEnabling it for everyone at once and reverting if problems appear
- CEnabling it only for administrators, permanently
- DEnabling it only during the quiet hours of the day
✓ Correct answer: AA limited group produces feedback and cost figures at a volume you can actually examine, and a problem affects a fraction of users rather than all of them - which is what makes the widening decision evidence-based. A feature flag makes both the rollout and the reversal a configuration change rather than a deployment.
Why the other options are wrong- BEnabling it for everyone at once means the whole user base meets any quality or cost problem simultaneously, and the reversal comes after the damage is done.
- CRestricting the feature to administrators permanently never puts it in front of the users it was built for, so the investment returns nothing.
- DEnabling it only during quiet hours limits when users meet the feature rather than how many of them do, so a quality problem still reaches everybody.
-
The open question is how to handle a column that stores an external system's identifier. What is worth adding?
- AA unique constraint, and a note of the source systemCorrect
- BA FOREIGN KEY pointing at the external system's table
- CAn IDENTITY property on the column
- DA DEFAULT constraint supplying a value when none is given
✓ Correct answer: AA unique constraint stops the same external record being linked twice, which is the failure mode of an integration, and naming the source system prevents the ambiguity that arises the moment a second system is integrated. A foreign key cannot reach outside the database.
Why the other options are wrong- BA FOREIGN KEY can only reference a table in the same database, so it cannot reach another system.
- CIDENTITY generates local values and would overwrite the external identifier being stored.
- DA DEFAULT invents an identifier that matches nothing in the source system.
-
A team must decide whether to let the model choose which database query to run. What is the safe boundary?
- AA fixed set of parameterized queries the model selects amongCorrect
- BGenerated Transact-SQL executed exactly as the model wrote it
- CGenerated Transact-SQL the model is asked to review before running
- DGenerated Transact-SQL run under db_datareader
✓ Correct answer: AChoosing among named, parameterized operations keeps every statement one a person reviewed while still letting the model route the request - the flexibility is in the selection, not in the SQL. A read-only account bounds the damage but still lets generated text reach the engine, where an expensive or probing query is possible.
Why the other options are wrong- BExecuting the model's Transact-SQL verbatim makes model output part of your query surface.
- CA model reviewing its own generated statement is not an independent control.
- Ddb_datareader bounds the damage to reads without stopping generated statements from running.
-
An application team is working out how to confirm that a security change did not break legitimate access. What applies?
- AExercising each affected role's normal operations afterwardsCorrect
- BConfirming that the deployment script reported no errors at all
- CWaiting for users to report that something has stopped working
- DReading the GRANT and DENY statements through once again
✓ Correct answer: AA change that removes more than intended looks identical to a correct one until someone tries the operation that no longer works, and that person is usually a customer. Running each role's normal operations right after the change converts that discovery into a controlled check.
Why the other options are wrong- BA clean deployment says the statements ran, not that the permitted callers can still work.
- CA user report arrives only after the disruption has already happened.
- DRe-reading the GRANT and DENY statements repeats the review that produced them.
Who this DP-800 practice exam is for
This practice set is for anyone preparing for the DP-800: Developing AI-Enabled Database Solutions exam - from first-time candidates building a foundation to experienced Microsoft practitioners doing a final review before test day. If you learn best by working through realistic questions and reading why each answer is right or wrong, it is built for you.
How to use this DP-800 practice exam
- Start with the free sample questions above to gauge your current baseline.
- Read the full explanation on every question, including why each wrong option is wrong.
- Track your weak domains and focus your study where you are losing the most marks.
- Once you are scoring consistently well, take a timed, full-length mock exam.
- Use your readiness score to find weak objectives and focus your study. It shows where you stand on this bank's questions, not whether you are ready to book the real DP-800 exam.
Related Microsoft resources
- DP-800 study guideKey concepts
- Microsoft practice examsAll Microsoft
- Certification pathWhere this fits
- Certification exam guides & tipsBlog
- Plans & pricingFree & paid
- How these questions are written and reviewedMethodology
- Report a problem with a questionCorrections
- DP-900 practice examRelated
- MB-310 practice examRelated
- MB-500 practice examRelated
DP-800 practice exam FAQ
How many questions are in the DP-800 practice exam on CertGrid?
CertGrid has 709 practice questions for DP-800: Developing AI-Enabled Database Solutions, covering 3 exam domains. The real DP-800 exam runs 120 min, typically with 40-60 questions. Microsoft publishes 40-60 questions as a typical range across its exams and states the number varies by exam; it does not publish a count for this one. CertGrid's timed mock is a fixed 50 questions.
What is the passing score for DP-800?
The DP-800 exam passing score is 700 / 1000, and you have about 120 min to complete it. CertGrid scores your practice attempts the same way so you know when you are ready.
Are these official DP-800 exam questions?
No. CertGrid is an independent practice platform. We do not provide real or leaked exam questions. Our questions are original and designed to help you practice the concepts, scenarios, and difficulty style of the DP-800: Developing AI-Enabled Database Solutions exam.
Is there a free DP-800 practice test?
Yes. You can take a free DP-800: Developing AI-Enabled Database Solutions practice test straight away: a fixed set of 20 practice questions for this exam, retryable as often as you like, with no credit card required. You get readiness scoring and a weak-domain breakdown on those questions. Paid plans unlock the full 709-question bank, timed mock exams and full-bank domain analytics.
What CertGrid is (and is not)
CertGrid is an independent IT certification practice platform for Azure, AWS, Google, Cisco, Security, Linux, Kubernetes, Terraform, and other certification tracks. It provides objective-mapped practice questions, readiness scoring, weak-domain drills, and explanations to help learners understand what to study next.
Independent & original. CertGrid is an independent practice platform and is not affiliated with or endorsed by Microsoft. Questions are original practice items designed to mirror certification concepts and exam style. CertGrid does not provide official exam questions or braindumps.