DP-800 is an associate-level role-based exam, so Learn is available to you. That's a real advantage — but it's also the easiest way to lose fifteen minutes you can't spare. This is the guide and the practice for turning it into a weapon rather than a trap.
Microsoft states it plainly: "Extra time has not been added." And: "The exam timer will continue as you explore Microsoft Learn content."
Every second in the docs comes out of your 90 minutes of question time. Learn access is not a free resource — it is a spend, and you have roughly seven minutes of it before it starts costing you questions. Budget it like money.
| Question | Answer |
|---|---|
| Do I get it on DP-800? | Yes. "You can access Microsoft Learn as you complete your associate or expert exam." DP-800 is the SQL AI Developer Associate. (Not available on Fundamentals or GitHub exams.) |
| What can I reach? | "Everything in the learn.microsoft.com domain except Q&A, Practice Assessments, and your profile." |
| Can I use Google or my notes? | No. "Web Browsing is restricted to the Microsoft Learn domain." Any other domain shows a "site is blocked" message. |
| Do I get extra time? | No. "Extra time has not been added." "The exam timer will continue as you explore." |
| How does it appear? | "Opens Microsoft Learn in a split screen to the right of the exam question." You can expand to full screen, open multiple tabs, and drag the splitter. |
| Can I search? | Within a page, yes: "you can find content on the current page by pressing Ctrl+F." |
You may open the docs only when you can complete this sentence: "I need to find out ___, and knowing it would change my answer."
If you can't name the specific fact, you're not looking something up — you're browsing, and browsing on a running clock is how a comfortable pass becomes a scramble.
| ✅ Sentence you can complete → go | ❌ Sentence you can't → don't |
|---|---|
"I need the default flag value for REGEXP_LIKE." | "I need to understand this question better." |
"I need to know whether Export produces a dacpac or a bacpac." | "I want to check I'm right." |
| "I need the exact name of the DMV for fragmentation." | "Maybe the docs will tell me which one is better." |
"I need the parameter order of sp_invoke_external_rest_endpoint." | "I've narrowed it to two and I'm not sure." |
| Look up | Never look up |
|---|---|
| Exact names — functions, DMVs, catalog views, action groups, roles | "Which should I use?" — the docs describe features, they don't choose between them |
| Parameters and their order | Design trade-offs — nothing on the page will resolve them |
| Valid values — flags, enums, options | Anything you've eliminated to two options by reasoning — trust the reasoning |
| Defaults — "is it case-sensitive by default?" | Concepts — you either know what a latch is or you don't, and a page won't fix it in 90 seconds |
| Limits — max precision, size caps, compatibility level | Questions you have no idea about — guess, flag, move |
| Syntax shape — where a clause goes | Case study scenarios — the answer is in the requirements tabs, not the docs |
Microsoft Learn is two different things sharing a domain, and knowing which you want halves your time:
| Type | Path pattern | Use in the exam? |
|---|---|---|
| Reference docs — the technical dictionary | /sql/… · /azure/… | ✅ Almost always this |
| Training modules — the tutorials you studied | /training/modules/… | ❌ Too long-form. You'll read three screens and find nothing. |
T-SQL functions learn.microsoft.com/en-us/sql/t-sql/functions/
T-SQL statements learn.microsoft.com/en-us/sql/t-sql/statements/
T-SQL queries/clauses learn.microsoft.com/en-us/sql/t-sql/queries/
System stored procs learn.microsoft.com/en-us/sql/relational-databases/system-stored-procedures/
System catalog views learn.microsoft.com/en-us/sql/relational-databases/system-catalog-views/
DMVs learn.microsoft.com/en-us/sql/relational-databases/system-dynamic-management-views/
sqlpackage learn.microsoft.com/en-us/sql/tools/sqlpackage/
Azure SQL Database learn.microsoft.com/en-us/azure/azure-sql/
Data API Builder learn.microsoft.com/en-us/azure/data-api-builder/
Azure AI Search learn.microsoft.com/en-us/azure/search/
You don't need to type these — but recognising the pattern tells you instantly whether a search result is a reference page or a tutorial, before you click it.
This is the single biggest speed gain available. T-SQL reference pages are rigidly structured, so you can jump straight to the part that answers your question instead of reading from the top.
| Section | Answers |
|---|---|
| Syntax | What are the parameters and in what order? |
| Arguments | What does each parameter mean, what are its valid values, what's the default? |
| Return type | What comes back — scalar, table, and what data type? |
| Remarks | Limits, caveats, compatibility requirements, gotchas. Underused and often where the answer is. |
| Examples | Working code — useful when the question shows a script fragment |
?view=sql-server-ver17 (SQL Server 2025) or ver16 (2022) and so on. A 2025-only feature will look like it doesn't exist if you're reading the 2022 view. If a function appears to be missing, check the version dropdown before concluding anything.REGEXP_LIKE and actually wanted the whole family? The left nav shows every sibling function. One click, no search.The point of this table isn't to memorise URLs. It's so that when a question raises a doubt, you already know which shelf the answer is on — which is the difference between a 30-second lookup and a 3-minute hunt.
| If the doubt is about… | Go to |
|---|---|
| A T-SQL function's parameters, flags or return type | /sql/t-sql/functions/<name> |
| Regex functions | /sql/t-sql/functions/regular-expressions-functions-transact-sql — the hub, links to all seven |
| JSON functions | Same functions folder — json-value, json-query, openjson |
| Vector functions and the VECTOR type | Functions folder + /sql/relational-databases/vectors/ |
A clause's position (FOR JSON, OVER, FOR SYSTEM_TIME) | /sql/t-sql/queries/ — select-clause pages |
A CREATE … statement's options | /sql/t-sql/statements/create-<object>-transact-sql |
An sp_ procedure | /sql/relational-databases/system-stored-procedures/ |
A sys.dm_ view and its columns | /sql/relational-databases/system-dynamic-management-views/ |
A sys. catalog view | /sql/relational-databases/system-catalog-views/ |
| Partitioning, indexes, temporal, ledger, RLS, DDM | /sql/relational-databases/ — the conceptual home |
| Service tiers, DTU/vCore, serverless, Hyperscale | /azure/azure-sql/database/ |
| Auditing, Defender, private endpoints, TDE | /azure/azure-sql/database/ security section |
| DAB config keys, CLI, permissions | /azure/data-api-builder/ |
sqlpackage actions and /p: properties | /sql/tools/sqlpackage/sqlpackage |
| AI Search index JSON, field types, vector profiles | /azure/search/ |
| Fabric Copilot, capacity and tenant settings | /fabric/ |
JSON_VALUE return?Page → Return type section. This is why long values need OPENJSON … WITH (col NVARCHAR(MAX)).
ISJSON?Page → Arguments.
/sql/t-sql/functions/isjson-transact-sqlDECIMAL data type?Also on that page: the storage-bytes table (5 / 9 / 13 / 17) worth a glance while you're there.
/sql/t-sql/data-types/decimal-and-numeric-transact-sqlVECTOR_DISTANCE accept?LAG() do?Without it you get NULL — which is why LAG(Amount, 1, 0) avoids NULL arithmetic.
DENSE_RANK differ from RANK when there are ties?Page → Remarks. Note this is a fact lookup, not a judgement one — legitimate.
/sql/t-sql/functions/dense-rank-transact-sqlThe hub page lists all seven in one table — learn this URL, it's the fastest route into any of them.
/sql/t-sql/functions/regular-expressions-functions-transact-sql@@ROWCOUNT return?"Last statement" is the fragility that makes it a poor choice for a procedure's return code.
/sql/t-sql/functions/rowcount-transact-sqlREGEXP_LIKE, and which is the default?Page → Arguments → the flags table. Also stated there: an empty string defaults to 'c', and with contradictory flags the last one wins.
REGEXP_LIKE require?Page → Remarks. This is the classic "the function isn't recognised" answer — and you'd never find it in Syntax or Arguments.
/sql/t-sql/functions/regexp-like-transact-sqlFOR JSON options cannot be used together?A root implies a wrapper, so they conflict. Found under the FOR JSON clause page's options section.
/sql/relational-databases/json/format-query-results-as-json-with-for-json-sql-serversp_invoke_external_rest_endpoint?Page → Arguments. Note the credential must be named to match the URL prefix — that's in Remarks.
/sql/relational-databases/system-stored-procedures/sp-invoke-external-rest-endpoint-transact-sqlOPENJSON, what data type must a column marked AS JSON be declared as?FOR SYSTEM_TIME sub-clauses besides ALL?The page also states the boundary inclusivity — FROM's upper bound is exclusive, BETWEEN's is inclusive.
/sql/relational-databases/tables/querying-data-in-a-system-versioned-temporal-tableOVER() has an ORDER BY but no explicit frame?Note RANGE, not ROWS — the cause of "my running total is wrong on tied dates".
/sql/t-sql/queries/select-over-clause-transact-sqlJSON_MODIFY do when you set a path to NULL in lax mode versus strict mode?Shelf: DMVs → Index Related. The DMV index page groups them by category, which is faster than guessing names.
/sql/relational-databases/system-dynamic-management-views/sys-dm-db-index-physical-stats-transact-sqlShelf: Catalog views → Partition Function catalog views. Its siblings sys.partition_functions and sys.partition_schemes are right there too.
sqlpackage action produces a .bacpac, and which consumes one?(Extract and Publish are the dacpac pair.) The sqlpackage landing page lists all actions with one-line descriptions — a single page answers the whole family.
/sql/tools/sqlpackage/sqlpackagedab add expose?Shelf: Data API Builder → Reference → CLI. Note while you're there that view requires --source.key-fields.
This is the mechanism behind RLS multi-tenancy — and note the @read_only parameter, which stops the value being changed later.
Edm.Single = single precision = float32. That's the answer to the "what backs a vector?" question.
Shelf: Security → Auditing → SQL Server Audit Action Groups and Actions. That one page lists every group — bookmark the concept, it answers a whole category.
/sql/relational-databases/security/auditing/sql-server-audit-action-groups-and-actionsDatabase-scoped. Its longer-history sibling is sys.resource_stats in the master database.
Shelf: Azure SQL Database → Resource limits. The limits pages are dense tables — Ctrl+F is essential here, don't read them.
/azure/azure-sql/database/resource-limits-vcore-single-databasesKEY INDEX?Shelf: T-SQL statements → CREATE FULLTEXT INDEX. Also there: one full-text index per table.
/sql/t-sql/statements/create-fulltext-index-transact-sqlThe docs will tell you Hyperscale's limits (drill 27), but they won't tell you it's the answer here. You already know ">4 TB kills GP and BC". Answer and move. The only legitimate lookup would be confirming the 4 TB figure — 30 seconds, not three minutes.
The docs describe AI_GENERATE_CHUNKS parameters; they do not contain a comparison table of strategies mapped to document characteristics. Looking this up returns nothing and costs you two minutes. This is exactly the category the guide warns about.
Two clauses, both must hold. The docs state what deterministic supports; they won't map the scenario for you. You've drilled this — trust it and move.
Being torn between two options is almost never a fact problem — it's a qualifier problem, and the qualifier is in the stem, not the documentation. Re-read the requirement sentence one more time instead. That is free; the docs are not.
This is the highest-value drill on the page, because this exact moment is where the seven-minute budget gets blown.
| Trap | What it costs | Prevention |
|---|---|---|
| Assuming extra time is given | Everything. The timer runs the whole time. | Budget 7 minutes total, treat it as spent money |
| Browsing instead of finding | 3–5 minutes per occurrence | Name the fact before opening the pane |
| Landing in a training module | 2+ minutes reading prose | If there's a "Next unit" button, back out — you want /sql/ or /azure/, not /training/ |
| Reading the page top to bottom | 60–90 seconds | Ctrl+F, or the "In this article" jump links |
| Wrong version selected | You conclude a 2025 feature doesn't exist | Check the version selector — ver17 is SQL Server 2025 |
| Clicking an external link | 10 seconds + losing your place | GitHub and sample repos are blocked. Check where a link points first. |
| Hunting for Q&A answers | Dead end | Q&A is blocked. So are Practice Assessments and your profile. |
| The sunk-cost spiral | 5–10 minutes, and it's the exam-killer | 90 seconds then out, no exceptions, decided in advance |
| Looking up a judgement question | 2 minutes and no answer, because the answer isn't there | Tier 4 above — practise recognising the shape |
| Leaving the pane open | Half your screen, on a text-heavy exam | Close it after each lookup; use the splitter deliberately |
| When | Do | Pass mark |
|---|---|---|
| Session 1 — Wednesday, 20 min | Tier 1 (drills 1–8) with the timer. Just get familiar with the reference-page layout. | Most under 45 seconds |
| Session 2 — Sunday or Monday, 25 min | Tiers 2 and 3 (drills 9–28). This is the real work — you're learning which shelf things live on. | Tier 2 mostly under 75s · Tier 3 mostly under 2 min |
| Session 3 — Tuesday, 10 min | Re-run any drill that went over target, plus all of Tier 4 out loud. | Tier 1 under 30s · Tier 4 answered without hesitation |