One engine, three platforms
SQL Server, Azure SQL and SQL database in Fabric share one code base — the SQL Database Engine. The T-SQL is the same; what differs is who runs the engine, how new features reach it and which features are switched off by the platform. Every T-SQL reference page carries an Applies to banner listing the platforms; these notes copy that habit with a strip like the one below.
flowchart TB
subgraph ENGINE["One SQL Database Engine"]
SS["SQL Server 2025 · 17.x<br/>you run it: Windows · Linux · containers · Azure VM · Arc"]
subgraph AZ["Azure SQL · PaaS"]
DB["Azure SQL Database<br/>versionless · database-scoped"] ~~~ MI["Azure SQL Managed Instance<br/>instance-scoped · update policy"]
end
FAB["SQL database in Fabric<br/>SaaS · auto-mirrored to OneLake"]
end | SQL Server 2025 | Azure SQL Database | Azure SQL MI | SQL database in Fabric | |
|---|---|---|---|---|
| Model | Software you install and patch (17.x, cumulative updates) | PaaS, a single database or elastic pool; versionless | PaaS, a near-complete SQL Server instance in a VNet | SaaS item in a Fabric workspace, billed from capacity |
| How features arrive | GA at release or in a CU; previews behind PREVIEW_FEATURES | Continuously, as soon as they ship | Depends on the instance's update policy | Continuously, shares Azure SQL Database's code line |
| Authentication | Windows, SQL logins, Entra ID (via Azure Arc) | Entra ID and SQL authentication | Entra ID, SQL and Windows (Kerberos via Entra) | Entra ID only — no logins, only Entra users |
| Scope | Instance, many databases, SQL Agent, server-level config | Database; no SQL Agent, no cross-database queries | Instance; SQL Agent, cross-database queries, CLR | Database; no SQL Agent, Data Factory pipelines instead |
| Default compatibility | Set per database (170 for new 17.x databases) | 170 | Per database | 170 |
| Exam cue | "on-premises", "Azure Arc", "Linux container", "Standard edition" | "serverless", "Hyperscale", "elastic pool", "Query Performance Insight" | "lift and shift", "SQL Agent jobs", "update policy" | "workspace", "OneLake", "SQL analytics endpoint", "capacity" |
SQL Server 2025 editions
SQL Server 2025 adds two free development editions — Standard Developer and Enterprise Developer — so you can develop against exactly the features of the edition you will deploy. Standard edition's limits rise to 32 cores and 256 GB of buffer pool, and Web edition is discontinued.
Managed Instance update policies
An Azure SQL Managed Instance is pinned to an update policy that decides which engine features it receives. This is the single most common reason a DP-800 answer says "MI: yes, but…".
| Update policy | What it gives you | Use it when |
|---|---|---|
| SQL Server 2022 | The SQL Server 2022 feature set; databases can be restored to SQL Server 2022 | You need two-way portability with SQL Server 2022 |
| SQL Server 2025 |
The SQL Server 2025 feature set: JSON type and JSON aggregates, regex, vector type and functions,
sp_invoke_external_rest_endpoint, optimized locking; vector indexes,
VECTOR_SEARCH, fuzzy matching and CES as preview | You need parity — and a restore path — with SQL Server 2025 |
| Always-up-to-date |
Every engine feature as soon as it ships, including GA vector indexes and VECTOR_SEARCH,
CREATE EXTERNAL MODEL and the AI functions
| You want the newest engine and do not need to restore back to a boxed SQL Server version |
Read the MI line in every Applies-to banner
Several reference pages say a feature is "available in Azure SQL Managed Instance with the Always-up-to-date
update policy" — CREATE EXTERNAL MODEL and AI_GENERATE_EMBEDDINGS among them — while others
accept either the SQL Server 2025 or the Always-up-to-date policy. If a scenario's MI runs the SQL
Server 2022 policy, none of the SQL Server 2025 programmability is there.
SQL database in Fabric
SQL database in Microsoft Fabric is an operational (OLTP) database created as an item in a Fabric workspace. It shares Azure SQL Database's engine and adds Fabric's integration: every eligible table is automatically mirrored to OneLake in Delta format, a read-only SQL analytics endpoint is created alongside it, and the workspace's Git integration and deployment pipelines cover its schema.
- Identity: Microsoft Entra only. Workspace roles grant access, and SQL permissions refine it.
- Not supported today: Always Encrypted, ledger tables, in-memory (memory-optimized) tables, change
data capture, application roles, server-level roles,
EXECUTE AS, SQL Agent, partition switching. - Supported with differences: full-text search (preview), external tables (Parquet and CSV only),
auditing (written to the item's OneLake folder and read with
sys.fn_get_audit_file_v2), clustered columnstore (create it with the table, or stop mirroring first). - Limits: up to 32 vCores and 4 TB; a trial capacity is limited to three databases.
Not the Warehouse, not the SQL analytics endpoint
Fabric has three SQL surfaces. SQL database is the read-write OLTP engine this exam is about. The Warehouse is the analytical engine (DP-700/DP-600 territory), and a SQL analytics endpoint is the read-only T-SQL view over a lakehouse or a mirrored database. A function that "applies to SQL analytics endpoint and Warehouse" is not automatically available in SQL database, and vice versa.
Which feature exists where
The matrix below is the exam's platform line for every feature the skills outline names. GA
is generally available, Preview is in preview (and on SQL Server 2025 needs
PREVIEW_FEATURES), and No is not available. "MI" assumes an update
policy that carries the feature, noted where it matters.
| Feature | SQL Server 2025 | Azure SQL Database | Azure SQL MI | SQL database in Fabric |
|---|---|---|---|---|
vector type and vector functions | GA | GA | GA 2025 / AUTD | GA |
Vector index (DiskANN) and VECTOR_SEARCH | Preview | GA | GA AUTD · Preview 2025 | GA |
Half-precision vectors, vector(n, float16) | Preview | GA | GA | GA |
CREATE EXTERNAL MODEL, AI_GENERATE_EMBEDDINGS | GA | GA | GA AUTD only | GA |
AI_GENERATE_CHUNKS (compat 170) | GA | GA | GA 2025 / AUTD | GA |
sp_invoke_external_rest_endpoint | GA | GA | GA 2025 / AUTD | GA |
Regular expressions (REGEXP_*) | GA | GA | GA 2025 / AUTD | GA |
Fuzzy matching (EDIT_DISTANCE, JARO_WINKLER_*) | Preview | Preview | Preview | Preview |
json type, JSON index, JSON_CONTAINS | GA | GA | GA 2025 / AUTD | GA |
| Change event streaming (CES) | Preview | Preview | Preview | Preview |
| Change data capture (CDC) | GA | GA S3 and above | GA | No |
| Ledger tables | GA | GA | GA | No |
| In-memory OLTP | GA | GA Premium / Business Critical | GA Business Critical | No |
| Always Encrypted | GA | GA | GA | No |
| Dynamic data masking, RLS, temporal tables | GA | GA | GA | GA |
| Full-text search | GA | GA | GA | Preview |
| Optimized locking | GA | GA | GA 2025 / AUTD | GA |
| Query Performance Insight | No | GA | No | No — Performance Dashboard |
| Auditing | SQL Server Audit | Azure SQL auditing | SQL Server Audit (to Blob) | Fabric SQL auditing to OneLake |
AUTD is the Always-up-to-date update policy; "2025" is the SQL Server 2025 update policy. Statuses checked against the live documentation in November 2026 — previews graduate in cumulative updates and service releases, so check the banner on the reference page before relying on one.
Switching features on
Three switches explain most "the function does not exist" and "the feature is disabled" errors in exam scenarios. Each applies to some platforms only.
-- SQL Server 2025 only: opt a database in to preview features
-- (vector indexes, VECTOR_SEARCH, fuzzy matching, change event streaming,
-- half-precision vectors). Not needed in Azure SQL Database or Fabric.
ALTER DATABASE SCOPED CONFIGURATION SET PREVIEW_FEATURES = ON;
-- Several new functions are only visible at compatibility level 170
-- (AI_GENERATE_CHUNKS, for example). 170 is already the default in Azure SQL
-- Database and SQL database in Fabric; on SQL Server it follows the database.
ALTER DATABASE CURRENT SET COMPATIBILITY_LEVEL = 170;
-- SQL Server 2025 and Azure SQL MI: allow outbound REST calls
-- (sp_invoke_external_rest_endpoint, external models). On by default in
-- Azure SQL Database and SQL database in Fabric.
EXECUTE sp_configure 'external rest endpoint enabled', 1;
RECONFIGURE WITH OVERRIDE; PREVIEW_FEATURES(database scoped configuration)- SQL Server 2025 only. Enabling it does not make the database "non-GA"; a preview that later goes GA in a cumulative update simply stops needing it. Persisted preview objects (a vector index) can fail if you switch it off again.
- Compatibility level 170
- Required by some new functions — the engine cannot even find
AI_GENERATE_CHUNKSbelow 170. external rest endpoint enabled(sp_configure)-
Gates
sp_invoke_external_rest_endpointand therefore every external-model call. Must be enabled on SQL Server 2025 and Managed Instance; already on in Azure SQL Database and SQL database in Fabric.
The developer tooling
The exam names its tools. Know what each one is for, and which skill uses it.
| Tool | What it does | Where it shows up |
|---|---|---|
| SQL Server Management Studio (SSMS 22) |
The administration and query IDE. GitHub Copilot in SSMS adds chat with database context,
slash commands such as /doc to document, explain, fix or optimize T-SQL, code completions (22.2+)
and agent mode extensible with agent skills and MCP servers (22.7+).
| Skill 1 (AI-assisted tools), Skill 2 (plans, Query Store) |
| MSSQL extension for VS Code |
Connections, query editor, Schema Designer, SQL Database Projects and a Data API builder designer. Its GitHub
Copilot integration contributes the schema-aware @mssql chat participant and agent-mode tools
(connect, list_databases, run_query…); inline completions are
not schema-aware.
| Skill 1, Skill 2 (projects, DAB) |
SQL Database Projects (Microsoft.Build.Sql) |
Database schema as source code in an SDK-style .sqlproj; dotnet build validates it
and produces a .dacpac.
| Skill 2 (CI/CD), Configuration reference |
| SqlPackage | Publishes a .dacpac to a database, extracts one from it, and reports a deployment or drift. | Skill 2 (deploy, schema drift) |
| Data API builder (DAB 2.x) |
Configuration-driven REST, GraphQL and — as SQL MCP Server — MCP endpoints over tables, views
and stored procedures, from one dab-config.json.
| Skill 2 (integration, securing endpoints), Skill 1 (MCP) |
| GitHub Copilot | AI pair programmer in VS Code, Visual Studio, SSMS and GitHub; chat modes (ask, edit, agent, plan), model choice, MCP tools and repository instruction files. | Skill 1 (AI-assisted tools) |
| Copilot in Fabric | Copilot for SQL database in Fabric: a chat pane, code completions and quick actions to fix and explain queries in the Fabric query editor. Enabled by tenant settings on a paid capacity. | Skill 1 (AI-assisted tools) |
Names to keep straight
- Microsoft Foundry (formerly Azure AI Foundry)
- The platform for deploying models such as Azure OpenAI embeddings and chat models. The study guide uses the new name; many SQL pages still say "Azure OpenAI in Azure AI Foundry Models", and the old portal is "Foundry (classic)".
- SQL database in Microsoft Fabric
- Sometimes shortened to "Fabric SQL database" in the docs. Not the Warehouse and not a SQL analytics endpoint.
- SQL MCP Server
- Data API builder's MCP surface, available from DAB 1.7 and fully featured in DAB 2.0 and later.
- SQL Server 2025 = 17.x
- SQL Server 2022 is 16.x. The compatibility level that unlocks the newest functions is 170.
- ANN and ENN (also kNN)
-
Approximate nearest neighbours (a vector index,
VECTOR_SEARCH) versus exact nearest neighbours (VECTOR_DISTANCEover every row). Skill 3 covers when to choose each.
A free lab for every skill
An Azure SQL Database on the free offer, or a SQL database in a Fabric trial capacity, runs every GA feature on this
page without the preview switch. Use SQL Server 2025 Developer edition in a container when you want to practise the
PREVIEW_FEATURES path and the sp_configure switches the cloud platforms hide.