Last-minute reference for DP-800. Database development and security/deployment are the two largest areas at 35–40% each; AI capabilities is 25–30%.
Exam facts
| |
|---|
| Duration | 120 minutes |
| Passing score | 700 / 1000 |
| Questions | Not published |
| Price | Set per country or region; shown at booking |
| Languages | 10 |
| Renewal | Free, annually |
| Outline | Skills measured as of October 19, 2026 |
Skill areas
| Area | Weight |
|---|
| Design and develop database solutions | 35–40% |
| Secure, optimize, and deploy database solutions | 35–40% |
| Implement AI capabilities in database solutions | 25–30% |
Pick the table type
| Need | Use |
|---|
| Data as of a past time | System-versioned temporal |
| Tamper-evidence | Ledger |
| Relationships traversed with MATCH | Graph |
| Very high concurrency, low latency | Memory-optimized |
| Large scans and aggregates | Columnstore index |
| Fast removal of old data | Partitioning with switch-out |
| Shared counter across tables | Sequence |
T-SQL function families
| Purpose | Functions |
|---|
| JSON | OPENJSON, JSON_VALUE, JSON_OBJECT, JSON_ARRAY, JSON_ARRAYAGG, JSON_CONTAINS |
| Regular expressions | REGEXP_LIKE, REGEXP_SUBSTR, REGEXP_REPLACE, REGEXP_COUNT, REGEXP_INSTR, REGEXP_MATCHES, REGEXP_SPLIT_TO_TABLE |
| Fuzzy matching | EDIT_DISTANCE, EDIT_DISTANCE_SIMILARITY, JARO_WINKLER_DISTANCE |
| Vectors | VECTOR_DISTANCE, VECTOR_NORMALIZE, VECTORPROPERTY, VECTOR_SEARCH |
Security: which feature
| Requirement | Feature |
|---|
| Mask for most users | Dynamic Data Masking (UNMASK to exempt) |
| Plaintext never on server | Always Encrypted |
| Per-user rows | Row-Level Security, filter plus block predicate |
| No passwords in config | Entra authentication, managed identity |
| Record activity | Auditing |
| Symptom | Tool or fix |
|---|
| New plan slower | Query Store, force plan |
| Top consumers in Azure SQL | Query Performance Insight |
| Deadlock | Same access order, short transactions |
| Readers block writers | Row versioning isolation |
Reacting to changes
| Option | Gives you |
|---|
| Change Tracking | Which rows changed |
| CDC | Before and after values |
| Change event streaming | Changes as events |
| Functions SQL trigger binding | Code run on changed rows |
Search choices
| Need | Use |
|---|
| Exact words | Full-text |
| Meaning | Vector |
| Both | Hybrid, merged with RRF: sum of 1 / (k + rank) |
| Large table, speed over perfect recall | ANN with vector index |
| Small table, exact results | KNN, VECTOR_DISTANCE |
RAG in five steps
Embed the question, retrieve rows, convert to JSON, send with sp_invoke_external_rest_endpoint, extract the answer.
Common traps
- Masking is not encryption.
- A filter predicate does not stop bad writes; add a block predicate.
- A trigger runs once per statement, not per row.
- Never make a transaction wait for a model call.
- Drift means the live database differs from the project.
More detail: exam format, practice test and the exam tips.