Skip to content

Domain 2: Secure, optimize, and deploy database solutions (35-40%) โ€‹

โ† Domain 1 ยท Domain 3 โ†’

This domain is about building SQL systems that are not just functional, but safe, observable, and deployable at scale.


2.1 Implement data security and compliance โ€‹

Core controls โ€‹

ControlUse it whenKey point
Always EncryptedSensitive data must remain protected even from DB adminsEncryption/decryption happens client-side
Column-level encryptionSpecific columns need encryption but not full Always Encrypted semanticsSimpler, but different trust boundary
Dynamic Data MaskingHide sensitive values from some users without changing stored dataMasking is obfuscation, not encryption
Row-Level Security (RLS)Different users should only see their own rowsFilter data visibility by predicate
Object-level permissionsRestrict who can query tables, views, or procsStandard least-privilege control
AuditingNeed traceability and compliance evidenceCapture access and changes

Masking vs Encryption

Dynamic Data Masking changes what some users see.
Encryption changes how data is protected at rest or in use.

If the requirement is "DBA must not see plaintext", think Always Encrypted, not masking.

Modern access posture โ€‹

  • Prefer passwordless approaches where supported.
  • Use Managed Identity to secure model endpoints and service-to-service access.
  • Secure REST, GraphQL, and MCP endpoints the same way you would secure the database itself: authentication, authorization, auditability, and least privilege.

2.2 Optimize database performance โ€‹

Performance toolkit โ€‹

ToolWhat it helps with
Execution plansSee join strategy, scans, seeks, and operator costs
DMVsSurface live operational metadata and workload behavior
Query StoreHistorical query performance, regressions, and plan comparison
Query Performance InsightAzure-centric performance visibility

Common exam themes โ€‹

  • Blocking and deadlocks
  • Bad indexing strategy
  • Parameter sensitivity / unstable plans
  • Wrong isolation level for workload behavior
  • Transaction scope too broad

Isolation level mental shortcut โ€‹

NeedDirection
Highest correctness, more lockingStronger isolation
Better concurrency, tolerate more anomaliesLighter isolation
Preserve integrity under contentionReview transaction design first

TIP

DP-800 is practical here: the best answer is usually the one that improves performance without sacrificing correctness or weakening security.


2.3 Implement CI/CD by using SQL Database Projects โ€‹

This section is very Microsoft-specific and likely exam-relevant.

What to know โ€‹

  • Create and validate database models with SQL Database Projects
  • Use SDK-style models
  • Store reference/static data in source control where appropriate
  • Configure branching, PRs, and conflict resolution
  • Detect schema drift
  • Deploy changes safely and repeatedly
  • Manage secrets outside source control

Healthy database DevOps flow โ€‹

  1. Model schema in a SQL Database Project.
  2. Keep changes versioned in Git.
  3. Validate builds in CI.
  4. Run unit/integration tests.
  5. Review drift between desired and target state.
  6. Deploy with approvals and branch policies.

Deployment governance signals โ€‹

If the question mentions any of these, expect stronger pipeline controls:

  • branch policies
  • approvals
  • code owners
  • authentication tables
  • schema drift
  • secret rotation

Common Trap

If a scenario needs repeatable deployments and reviewable schema history, do not rely on ad hoc manual SQL scripts as the primary answer. Prefer a SQL Database Project + CI/CD pipeline approach.


2.4 Integrate SQL solutions with Azure services โ€‹

Data API builder (DAB) โ€‹

DAB exposes database entities through REST and GraphQL using configuration-first patterns.

CapabilityWhy it matters
Entity configurationControls what gets exposed and how
Pagination/search/filteringShapes endpoint usability and cost
GraphQL relationshipsMakes relational models easier to consume
Deployment configNeeded for predictable API rollout

When DAB is the right answer โ€‹

  • You need quick API exposure over existing SQL objects
  • You want REST and GraphQL without building a custom app layer from scratch
  • You need to expose stored procedures, views, and relationships

Change propagation options โ€‹

The study guide explicitly calls out:

  • Change event streaming (CES)
  • Change Data Capture (CDC)
  • Change Tracking
  • Azure Functions with SQL trigger binding
  • Azure Logic Apps

Use these when embeddings, caches, downstream apps, or search indexes must stay in sync with database changes.


Fast Recall โ€‹

  • Always Encrypted protects plaintext from the database side.
  • DDM hides values from some users but is not encryption.
  • RLS controls who sees which rows.
  • Query Store is the default answer for plan regressions/history.
  • SQL Database Projects are central to CI/CD and drift detection.
  • DAB is the Microsoft answer for configuration-driven REST/GraphQL over SQL.

โ† Domain 1 ยท Domain 3 โ†’

Happy Studying! ๐Ÿš€ โ€ข Privacy-friendly analytics โ€” no cookies, no personal data
Privacy Policy โ€ข AI Disclaimer โ€ข Report an issue