πŸ”’ Guided

Pre-launch preview. Authorised access only.

Incorrect code

Guided by A Guide to Cloud
Explore AB-900 AI-901
Guided DP-800 Domain 2
Domain 2 β€” Module 3 of 11 27%
13 of 28 overall

DP-800 Study Guide

Domain 1: Design and Develop Database Solutions

  • Table Design: Columns, Types, and Indexes Free
  • Constraints: Protecting Your Data Free
  • Specialised Tables and Graph Queries Free
  • JSON in SQL: Store, Query, and Index
  • Programmability: Views, Functions, Procedures, and Triggers
  • Advanced T-SQL: CTEs, Windows, and Correlated Queries
  • Pattern Power: Regular Expressions in T-SQL
  • Fuzzy String Matching: Finding Similar Text
  • AI-Assisted SQL with GitHub Copilot Free
  • MCP: Connecting AI to Your Database

Domain 2: Secure, Optimize, and Deploy Database Solutions

  • Encryption: Always Encrypted and Column-Level
  • Dynamic Data Masking and Row-Level Security
  • Permissions, Auditing, and Passwordless Access
  • Transaction Isolation and Concurrency
  • Query Performance: Plans, DMVs, and Query Store
  • SQL Database Projects: Build and Validate
  • CI/CD Pipelines for SQL Databases
  • Data API Builder: REST and GraphQL from SQL
  • Securing AI and API Endpoints
  • Change Detection: CES, CDC, and Change Tracking
  • Azure Integration and Monitoring

Domain 3: Implement AI Capabilities in Database Solutions

  • External AI Models: Choose, Create, Manage
  • Embeddings: Design, Chunk, and Generate
  • Choose Your Search Strategy
  • Vector Data: Types, Indexes, and Storage
  • Vector Search: Distance, ANN, and ENN
  • Hybrid Search and Reciprocal Rank Fusion
  • RAG with SQL: Prompt, Process, Respond

DP-800 Study Guide

Domain 1: Design and Develop Database Solutions

  • Table Design: Columns, Types, and Indexes Free
  • Constraints: Protecting Your Data Free
  • Specialised Tables and Graph Queries Free
  • JSON in SQL: Store, Query, and Index
  • Programmability: Views, Functions, Procedures, and Triggers
  • Advanced T-SQL: CTEs, Windows, and Correlated Queries
  • Pattern Power: Regular Expressions in T-SQL
  • Fuzzy String Matching: Finding Similar Text
  • AI-Assisted SQL with GitHub Copilot Free
  • MCP: Connecting AI to Your Database

Domain 2: Secure, Optimize, and Deploy Database Solutions

  • Encryption: Always Encrypted and Column-Level
  • Dynamic Data Masking and Row-Level Security
  • Permissions, Auditing, and Passwordless Access
  • Transaction Isolation and Concurrency
  • Query Performance: Plans, DMVs, and Query Store
  • SQL Database Projects: Build and Validate
  • CI/CD Pipelines for SQL Databases
  • Data API Builder: REST and GraphQL from SQL
  • Securing AI and API Endpoints
  • Change Detection: CES, CDC, and Change Tracking
  • Azure Integration and Monitoring

Domain 3: Implement AI Capabilities in Database Solutions

  • External AI Models: Choose, Create, Manage
  • Embeddings: Design, Chunk, and Generate
  • Choose Your Search Strategy
  • Vector Data: Types, Indexes, and Storage
  • Vector Search: Distance, ANN, and ENN
  • Hybrid Search and Reciprocal Rank Fusion
  • RAG with SQL: Prompt, Process, Respond
Domain 2: Secure, Optimize, and Deploy Database Solutions Premium ⏱ ~12 min read

Permissions, Auditing, and Passwordless Access

Control database access with object-level permissions, track all activity with SQL auditing, and eliminate passwords with Microsoft Entra authentication.

Who can do what β€” and who is watching

β˜• Simple explanation

Think of a building with key cards, security cameras, and no physical keys.

Permissions are key cards β€” each person’s card only opens the doors they need. Auditing is the security camera β€” it records who went where and when. Passwordless access replaces physical keys (passwords that can be stolen) with biometric scanners (managed identity, certificates) that cannot be copied.

The DP-800 exam covers three interconnected security areas: object-level permissions (GRANT, DENY, REVOKE on schemas, tables, views, procedures), auditing (SQL Server Audit and Azure SQL auditing for compliance tracking), and passwordless authentication (Microsoft Entra ID, managed identity, service principals) to eliminate credential management risks.

Object-level permissions

SQL Server uses a hierarchy: server β†’ database β†’ schema β†’ object. Permissions flow down and DENY always wins.

-- Grant SELECT on specific tables
GRANT SELECT ON SCHEMA::Sales TO [SalesTeam];

-- Grant EXECUTE on a stored procedure
GRANT EXECUTE ON dbo.usp_GetCustomerOrders TO [AppService];

-- Deny direct table access but allow through procedures
DENY SELECT ON dbo.Customers TO [AppService];
GRANT EXECUTE ON dbo.usp_GetCustomer TO [AppService];
-- AppService can only access customer data through the stored procedure

Principle of least privilege

PatternExampleWhy
Schema-level grantsGRANT SELECT ON SCHEMA::ReportsSimpler than per-table grants
Procedure-only accessDENY on tables, GRANT on proceduresApplication sees only what procedures expose
Database rolesCREATE ROLE ReadOnlyAnalyst; GRANT SELECT TO ReadOnlyAnalystGroup permissions, assign users to roles
EXECUTE ASCREATE PROCEDURE ... WITH EXECUTE AS 'AppUser'Procedure runs with specific identity regardless of caller

Passwordless access

Modern SQL authentication eliminates passwords entirely using Microsoft Entra ID (formerly Azure AD).

Authentication methods β€” passwordless is always preferred
MethodHow It WorksBest For
Managed IdentityAzure resource authenticates automatically β€” no credentials storedAzure VMs, App Service, Functions connecting to Azure SQL
Service PrincipalApplication registers in Entra ID, authenticates with certificate or federated credentialNon-Azure apps, CI/CD pipelines
Entra ID userInteractive login with MFA, SSODevelopers, DBAs, analysts
SQL authenticationUsername + password stored in connection stringLegacy only β€” avoid for new applications
-- Create a contained database user for a managed identity
CREATE USER [my-app-service] FROM EXTERNAL PROVIDER;
ALTER ROLE db_datareader ADD MEMBER [my-app-service];
ALTER ROLE db_datawriter ADD MEMBER [my-app-service];

SQL auditing

Auditing records database events to a log for compliance and security investigation.

Azure SQL auditing

-- Server-level auditing (Azure SQL) β€” configured in Azure portal or CLI
-- Logs to Azure Blob Storage, Log Analytics, or Event Hub

-- Database-level audit specifications
CREATE DATABASE AUDIT SPECIFICATION AuditSensitiveAccess
FOR SERVER AUDIT [AzureSQLAudit]
ADD (SELECT, INSERT, UPDATE, DELETE ON dbo.Customers BY [public]),
ADD (EXECUTE ON dbo.usp_TransferFunds BY [public])
WITH (STATE = ON);
πŸ’‘ Exam tip: Auditing is not optional for compliance

The exam often presents scenarios where a company must demonstrate β€œwho accessed what data and when” for regulatory compliance (GDPR, SOX, HIPAA). The answer is always auditing β€” not just permissions. Permissions control access; auditing proves what actually happened.

For Azure SQL, audit logs can flow to: Blob Storage (cheapest), Log Analytics (queryable with KQL), or Event Hub (real-time streaming to SIEM tools).

Question

What is the advantage of passwordless authentication over SQL authentication?

Click or press Enter to reveal answer

Answer

Passwordless (managed identity, Entra ID) eliminates credential management β€” no passwords to rotate, leak, or store in connection strings. Managed identity authenticates automatically with no secrets. SQL authentication requires passwords that can be stolen or exposed.

Click to flip back

Question

What does DENY always do in the permission hierarchy?

Click or press Enter to reveal answer

Answer

DENY always wins, regardless of any GRANT. If a user is granted SELECT through a role but explicitly DENIED SELECT, the DENY takes precedence. This makes DENY a powerful but dangerous tool β€” use it sparingly.

Click to flip back

Question

What is the difference between server audit and database audit specification?

Click or press Enter to reveal answer

Answer

A server audit defines WHERE audit data goes (Blob Storage, file, Event Hub). A database audit specification defines WHAT events to capture (which actions on which objects by which principals). You need both: the audit (destination) and the specification (events).

Click to flip back

Knowledge Check

Leo at SearchWave deploys his application to Azure App Service. The app needs to connect to Azure SQL Database. The security team requires no credentials in code or configuration. What should Leo use?

🎬 Video coming soon

Next up: Transaction Isolation and Concurrency β€” understand how transactions interact and prevent blocking and deadlocks.

← Previous

Dynamic Data Masking and Row-Level Security

Next β†’

Transaction Isolation and Concurrency

Guided

I learn, I simplify, I share.

A Guide to Cloud YouTube Feedback

© 2026 Sutheesh. All rights reserved.

Guided is an independent study resource and is not affiliated with, endorsed by, or officially connected to Microsoft. Microsoft, Azure, and related trademarks are property of Microsoft Corporation. Always verify information against Microsoft Learn.