Azure DP-300 Certification Fact Sheet¶
Comprehensive Quick Reference Guide for Administering Microsoft Azure SQL Solutions¶
Table of Contents¶
- Exam Overview
- Database Deployment
- Security
- Monitoring & Performance
- Optimization
- High Availability & Disaster Recovery
- Automation
- Cost Management
Exam Overview¶
Exam Structure¶
- Exam Code: DP-300: Administering Microsoft Azure SQL Solutions
- Duration: 180 minutes (3 hours)
- Questions: 40-60 questions
- Passing Score: 700/1000
- Cost: $165 USD
- Question Types: Multiple choice, multiple select, drag-drop, case studies, hot areas
Official Resources¶
- π DP-300 Official Exam Page - Official exam registration and overview
- π DP-300 Learning Path - Microsoft Learn official certification path
- π Exam Skills Outline - Detailed skills measured document
- π Azure SQL Documentation Hub - Complete Azure SQL documentation portal
Exam Domain Breakdown¶
- Plan and Implement Data Platform Resources (20-25%)
- Implement a Secure Environment (15-20%)
- Monitor, Configure, and Optimize Database Resources (20-25%)
- Configure and Manage Automation of Tasks (15-20%)
- Plan and Configure High Availability and Disaster Recovery (20-25%)
Database Deployment¶
Azure SQL Deployment Options¶
Azure SQL Database¶
- π Azure SQL Database Overview - PaaS database service fundamentals
- π SQL Database Quickstart - Deploy your first SQL Database
- π Service Tiers and Compute Sizes - General Purpose vs Business Critical
- π vCore Model - vCore-based purchasing model explained
- π DTU Model - DTU-based purchasing model explained
- π Serverless Compute Tier - Auto-scaling compute with auto-pause
- π Hyperscale Service Tier - Scalable architecture for large databases (100TB+)
- π Elastic Pools - Share resources across multiple databases
- π Elastic Pool Management - Configure and manage elastic pools
Azure SQL Managed Instance¶
- π SQL Managed Instance Overview - Near 100% SQL Server compatibility
- π Managed Instance Deployment - Create your first managed instance
- π Instance Pools - Cost-efficient deployment for small instances
- π VNet Configuration - Network architecture and connectivity
- π Service Tiers for Managed Instance - General Purpose vs Business Critical tiers
- π Management Operations - Long-running operations and monitoring
SQL Server on Azure VMs¶
- π SQL Server on Azure VMs Overview - IaaS SQL Server deployment
- π VM Deployment Guide - Deploy SQL Server VM from Azure portal
- π VM Size Selection - Performance best practices and sizing
- π Storage Configuration - Configure optimal storage for SQL VMs
- π SQL IaaS Agent Extension - Automated management features
- π Automated Backup for SQL VMs - Configure automated backups
Deployment Methods and Tools¶
- π Azure Portal Deployment - Deploy using Azure portal
- π Azure CLI for SQL - Command-line deployment and management
- π PowerShell Az.Sql Module - PowerShell automation for Azure SQL
- π ARM Templates for SQL - Infrastructure as Code with ARM
- π Bicep for Azure SQL - Modern IaC with Bicep language
- π Terraform for Azure SQL - Third-party IaC deployment
Migration and Hybrid Scenarios¶
- π Azure Database Migration Service - Managed migration service overview
- π Data Migration Assistant - Assess and migrate on-premises databases
- π Azure SQL Migration Extension - Migrate using Azure Data Studio
- π SQL Server to Azure SQL Database - Database migration strategies
- π Azure Arc-enabled SQL Server - Hybrid management with Azure Arc
Security¶
Authentication and Authorization¶
Azure Active Directory Integration¶
- π Azure AD Authentication - Configure Azure AD for SQL authentication
- π Configure Azure AD Admin - Set up Azure AD administrator
- π Managed Identity Support - Use managed identities for authentication
- π Multi-Factor Authentication - MFA with SSMS and Azure AD
SQL Authentication and Access Control¶
- π SQL Authentication - Manage logins and users
- π Contained Database Users - Create users without server-level logins
- π Database Roles - Manage database-level permissions
- π Row-Level Security - Implement row-level access control
Network Security¶
- π Firewall Rules - Configure server and database firewall rules
- π Virtual Network Rules - Secure with VNet service endpoints
- π Private Endpoint - Private connectivity using Azure Private Link
- π Connection Policies - Understand Proxy vs Redirect connection modes
Data Encryption¶
Transparent Data Encryption (TDE)¶
- π TDE Overview - Encryption at rest with TDE
- π TDE with Customer-Managed Keys - Bring Your Own Key (BYOK)
- π Configure TDE - Set up TDE with Azure Key Vault
Always Encrypted¶
- π Always Encrypted Overview - Client-side encryption for sensitive data
- π Always Encrypted with Secure Enclaves - Enhanced functionality with secure enclaves
- π Configure Always Encrypted - Setup with Azure Key Vault
- π Key Management for Always Encrypted - Column encryption and master keys
Other Encryption Features¶
- π Dynamic Data Masking - Mask sensitive data from non-privileged users
- π Configure Data Masking - Set up masking rules
- π Transport Layer Security - TLS encryption for data in transit
Security Monitoring and Compliance¶
Microsoft Defender for SQL¶
- π Defender for SQL Overview - Advanced threat protection
- π Enable Defender for SQL - Configure advanced security features
- π Vulnerability Assessment - Discover and remediate vulnerabilities
- π Advanced Threat Protection - Detect anomalous activities
Auditing and Compliance¶
- π SQL Auditing - Track database events and write audit logs
- π Configure Auditing - Set up server and database auditing
- π Audit Log Destinations - Write to Storage, Log Analytics, Event Hub
- π Ledger for SQL Database - Tamper-evident ledger capabilities
- π Information Protection - Data discovery and classification
Monitoring & Performance¶
Azure Monitor Integration¶
Monitoring Fundamentals¶
- π Monitor Azure SQL Database - Comprehensive monitoring overview
- π Azure Monitor for SQL - Centralized monitoring with Azure Monitor
- π Diagnostic Settings - Configure metrics and logs export
- π SQL Insights - Advanced monitoring with SQL Insights
Metrics and Alerts¶
- π Database Metrics - Available performance metrics
- π Create Metric Alerts - Set up threshold-based alerts
- π Resource Health - Monitor database health status
- π Service Health Monitoring - Track Azure service incidents
Query Performance Monitoring¶
Query Performance Insight¶
- π Query Performance Insight - Identify top resource-consuming queries
- π Query Store - Capture and analyze query execution history
- π Query Store Best Practices - Configuration recommendations
- π Query Store Hints - Force query plans using hints
Query Analysis Tools¶
- π Execution Plans - Analyze query execution plans
- π Live Query Statistics - Real-time query execution monitoring
- π SQL Server Profiler - Legacy trace and profiling tool
- π Extended Events - Lightweight event tracing system
- π Database Watcher - Real-time monitoring and analytics
Dynamic Management Views (DMVs)¶
Essential DMVs¶
- π DMV Overview - Dynamic management views and functions
- π sys.dm_db_resource_stats - Database resource consumption metrics
- π sys.dm_exec_requests - Currently executing requests
- π sys.dm_exec_query_stats - Aggregated query performance statistics
- π sys.dm_exec_sessions - Active user connections and sessions
Wait Statistics and Blocking¶
- π Wait Statistics - Identify performance bottlenecks with wait types
- π Blocking Monitoring - Track locks and blocking chains
- π Deadlock Detection - Analyze and resolve deadlocks
- π Intelligent Query Processing - Automatic performance enhancements
Optimization¶
Index Management¶
Index Strategies¶
- π Index Architecture - Comprehensive index design guide
- π Clustered Index Design - Clustered vs nonclustered indexes
- π Columnstore Indexes - High-performance analytics with columnstore
- π Index Maintenance - Rebuild and reorganize strategies
- π Online Index Operations - Minimize downtime during index maintenance
Automatic Tuning¶
- π Automatic Tuning - AI-driven performance tuning
- π Enable Automatic Tuning - Configure automatic index management
- π Automatic Plan Correction - Fix plan regression automatically
- π Tuning Recommendations - Database Advisor recommendations
Query Optimization¶
Query Tuning Techniques¶
- π Query Tuning - Query performance tuning guide
- π Parameter Sniffing - Understand and handle parameter sniffing
- π Plan Guides - Force query plans without code changes
- π Statistics Management - Optimize query optimizer statistics
Performance Features¶
- π In-Memory OLTP - Memory-optimized tables and indexes
- π Batch Mode Processing - Batch mode on rowstore
- π Adaptive Query Processing - Runtime query optimization
- π Memory Grant Feedback - Automatic memory grant adjustments
Resource Governance and Scaling¶
Compute and Storage Scaling¶
- π Scale Resources - Scale compute and storage dynamically
- π Resource Limits - vCore - vCore resource limits for single databases
- π Resource Limits - DTU - DTU resource limits for single databases
- π Elastic Pool Resource Limits - Elastic pool vCore limits
Read Scale-Out and Replicas¶
- π Read Scale-Out - Offload read workloads to secondary replicas
- π Application Intent - Route queries with ApplicationIntent connection parameter
- π Hyperscale Read Replicas - Named replicas in Hyperscale tier
Resource Governor¶
- π Resource Governor - Control resource consumption (SQL VM)
- π Workload Groups - Configure workload isolation
- π Connection Limits - Logical server connection limits
High Availability & Disaster Recovery¶
High Availability Architecture¶
Built-in High Availability¶
- π High Availability Overview - Azure SQL HA architecture and SLA
- π Business Critical Availability - Always On availability groups in Business Critical
- π Zone Redundancy - Deploy across availability zones
- π SLA Details - Service level agreements
Active Geo-Replication¶
- π Active Geo-Replication - Asynchronous replication to multiple regions
- π Configure Geo-Replication - Set up readable secondary databases
- π Failover Process - Manual and forced failover procedures
- π Monitoring Replication Lag - Track replication performance
Auto-Failover Groups¶
- π Auto-Failover Groups - Automatic regional failover solution
- π Configure Failover Groups - Setup and configuration guide
- π Failover Group DNS - Read-write and read-only listener endpoints
- π Failover Policies - Automatic vs manual failover policies
SQL Server Always On (IaaS)¶
- π Always On Availability Groups - High availability for SQL Server VMs
- π Configure Always On in Azure - Deploy availability groups on Azure VMs
- π Failover Cluster Instances - FCI for SQL Server VMs
- π Distributed Availability Groups - AG across multiple clusters
Backup and Restore¶
Automated Backups¶
- π Automated Backups - Built-in backup service for Azure SQL
- π Backup Frequency and Retention - Full, differential, and log backup schedules
- π Short-term Retention - Configure backup retention (1-35 days)
- π Long-term Retention (LTR) - Keep backups for up to 10 years
- π Configure LTR - Set up long-term retention policies
Point-in-Time Restore (PITR)¶
- π Point-in-Time Restore - Restore to any point within retention period
- π Perform PITR - Step-by-step restore procedures
- π Restore Deleted Database - Recover accidentally deleted databases
- π PITR Limitations - Recovery time and considerations
Geo-Restore¶
- π Geo-Restore - Restore from geo-redundant backups
- π Geo-Redundant Backups - Backup storage redundancy options (LRS, ZRS, GRS)
- π Configure Backup Storage - Change backup storage redundancy
Copy and Export¶
- π Database Copy - Create transactionally consistent copy
- π Export to BACPAC - Export schema and data to BACPAC file
- π Import from BACPAC - Import database from BACPAC
- π SqlPackage Utility - Command-line tool for import/export
Disaster Recovery Planning¶
- π Business Continuity Overview - Complete BC/DR strategy guide
- π Recovery Time Objective (RTO) - RTO comparison across solutions
- π Recovery Point Objective (RPO) - RPO comparison across solutions
- π Disaster Recovery Drills - Test your DR plan
Automation¶
Infrastructure as Code (IaC)¶
ARM Templates¶
- π ARM Template Reference - SQL Server ARM template schema
- π Deploy with ARM - Deploy templates via portal, CLI, PowerShell
- π Template Best Practices - ARM template design guidelines
Bicep¶
- π Bicep Overview - Modern declarative IaC language
- π Bicep for SQL Database - Deploy SQL Database with Bicep
- π Bicep Modules - Reusable Bicep templates
PowerShell Automation¶
- π Az.Sql Module - Complete PowerShell cmdlet reference
- π New-AzSqlDatabase - Create SQL Database with PowerShell
- π Set-AzSqlDatabase - Modify database properties
- π Get-AzSqlDatabaseActivity - Monitor database operations
- π PowerShell Runbooks - Automate with Azure Automation
Azure CLI Automation¶
- π az sql Reference - Complete Azure CLI command reference
- π az sql db create - Create database via CLI
- π az sql db update - Update database configuration
- π az sql db list-usages - Monitor resource usage
Database Automation¶
Elastic Jobs¶
- π Elastic Jobs Overview - Automated T-SQL job execution across databases
- π Create Elastic Job Agent - Setup and configuration tutorial
- π Job Scheduling - Schedule jobs with T-SQL
Azure Automation¶
- π Azure Automation Overview - Automation service for cloud and on-premises
- π Automation Runbooks - Execute PowerShell and Python scripts
- π Update Management - Automate patching for SQL VMs
- π Azure Logic Apps for SQL - Workflow automation with Logic Apps
Maintenance Plans and Jobs¶
- π SQL Server Agent Jobs - Scheduled job automation for SQL VMs and MI
- π Maintenance Plans - Automated database maintenance tasks
- π Index Maintenance Jobs - Automate index rebuilds and reorgs
CI/CD for Databases¶
Azure DevOps Integration¶
- π Azure DevOps for SQL - Deploy databases with Azure Pipelines
- π SQL Database Projects - Database projects in CI/CD pipelines
- π DACPAC Deployment - Deploy schema changes with DACPAC
GitHub Actions¶
- π GitHub Actions for Azure SQL - Deploy to Azure SQL with GitHub Actions
- π Azure SQL Deploy Action - Official GitHub marketplace action
Cost Management¶
Pricing Models and Optimization¶
- π Azure SQL Pricing - Official pricing page
- π vCore vs DTU Comparison - Choose the right purchasing model
- π Reserved Capacity - Save up to 80% with reserved instances
- π Cost Optimization - Best practices for cost reduction
- π Serverless Cost Benefits - Pay-per-use pricing model
Resource Monitoring for Cost¶
- π Azure Cost Management - Track and analyze spending
- π Cost Alerts - Set up budget alerts
- π Azure Advisor Cost Recommendations - Get personalized cost optimization tips
Additional Resources¶
Tools and Utilities¶
- π Azure Data Studio - Modern cross-platform database tool
- π SQL Server Management Studio (SSMS) - Comprehensive SQL Server management
- π Azure Portal - Web-based management interface
- π Azure Mobile App - Manage Azure on the go
Learning and Practice¶
- π Microsoft Learn - DP-300 Path - Free training modules
- π Azure Free Account - $200 credit for 30 days
- π DP-300 Sample Questions - Practice questions from Microsoft
- π Azure SQL Workshop - Hands-on GitHub workshop
Community and Support¶
- π Azure SQL Blog - Official product updates and tips
- π SQL Server Blog - SQL Server team blog
- π Microsoft Q&A - Community support forum
- π Azure Updates - Latest Azure SQL features
Best Practices Guides¶
- π Azure SQL Best Practices - Comprehensive best practices
- π Performance Best Practices - Optimize performance
- π Security Best Practices - Secure your databases
- π Connectivity Best Practices - Connection troubleshooting
Quick Reference Commands¶
Azure CLI Quick Reference¶
# Create SQL Server
az sql server create --name myserver --resource-group myRG --location eastus --admin-user myadmin --admin-password MyP@ssw0rd
# Create SQL Database
az sql db create --resource-group myRG --server myserver --name mydb --service-objective S0
# Scale database
az sql db update --resource-group myRG --server myserver --name mydb --service-objective S2
# Configure geo-replication
az sql db replica create --resource-group myRG --server myserver --name mydb --partner-server mysecondaryserver --partner-resource-group mySecondaryRG
# Create failover group
az sql failover-group create --name myfailovergroup --resource-group myRG --server myserver --partner-server mysecondaryserver --failover-policy Automatic --grace-period 1
# PITR restore
az sql db restore --dest-name mydb-restored --resource-group myRG --server myserver --name mydb --time "2024-01-15T10:30:00Z"
PowerShell Quick Reference¶
# Create SQL Server
New-AzSqlServer -ResourceGroupName "myRG" -ServerName "myserver" -Location "East US" -SqlAdministratorCredentials (Get-Credential)
# Create SQL Database
New-AzSqlDatabase -ResourceGroupName "myRG" -ServerName "myserver" -DatabaseName "mydb" -Edition "Standard" -RequestedServiceObjectiveName "S2"
# Scale database
Set-AzSqlDatabase -ResourceGroupName "myRG" -ServerName "myserver" -DatabaseName "mydb" -Edition "Premium" -RequestedServiceObjectiveName "P2"
# Configure geo-replication
New-AzSqlDatabaseSecondary -ResourceGroupName "myRG" -ServerName "myserver" -DatabaseName "mydb" -PartnerResourceGroupName "mySecondaryRG" -PartnerServerName "mysecondaryserver"
# Create failover group
New-AzSqlDatabaseFailoverGroup -ResourceGroupName "myRG" -ServerName "myserver" -PartnerServerName "mysecondaryserver" -FailoverGroupName "myfailovergroup" -FailoverPolicy Automatic -GracePeriodWithDataLossHours 1
# PITR restore
Restore-AzSqlDatabase -FromPointInTimeBackup -PointInTime "2024-01-15T10:30:00Z" -ResourceGroupName "myRG" -ServerName "myserver" -TargetDatabaseName "mydb-restored" -ResourceId /subscriptions/{SubID}/resourceGroups/myRG/providers/Microsoft.Sql/servers/myserver/databases/mydb
T-SQL Quick Reference¶
-- Check database size and usage
SELECT
database_name,
SUM(size_gb) as total_size_gb,
SUM(allocated_gb) as allocated_gb
FROM sys.dm_db_resource_stats;
-- View current connections
SELECT
session_id,
login_name,
status,
database_name
FROM sys.dm_exec_sessions
WHERE is_user_process = 1;
-- Check running queries
SELECT
r.session_id,
r.status,
r.command,
r.wait_type,
r.total_elapsed_time,
t.text
FROM sys.dm_exec_requests r
CROSS APPLY sys.dm_exec_sql_text(r.sql_handle) t;
-- Create database user from Azure AD
CREATE USER [user@domain.com] FROM EXTERNAL PROVIDER;
ALTER ROLE db_datareader ADD MEMBER [user@domain.com];
-- Enable Query Store
ALTER DATABASE [mydb] SET QUERY_STORE = ON;
ALTER DATABASE [mydb] SET QUERY_STORE (OPERATION_MODE = READ_WRITE);
-- Configure geo-replication (primary)
ALTER DATABASE [mydb] ADD SECONDARY ON SERVER [mysecondaryserver];
-- Failover to secondary
ALTER DATABASE [mydb] FAILOVER;
Exam Tips and Strategy¶
Key Focus Areas¶
- Deployment Models: Understand when to use SQL Database vs Managed Instance vs SQL VM
- Security Layers: Know all security features (TDE, Always Encrypted, DDM, firewall, AAD)
- HA/DR Solutions: Master geo-replication, failover groups, PITR, and Always On
- Monitoring Tools: Query Performance Insight, Query Store, Extended Events, DMVs
- Performance Tuning: Indexes, automatic tuning, query optimization, resource scaling
- Backup/Restore: Understand PITR, LTR, geo-restore, and retention policies
- Automation: Know PowerShell, CLI, ARM/Bicep, Elastic Jobs
Common Exam Scenarios¶
- Choosing the right deployment option based on requirements
- Implementing security for compliance requirements
- Designing HA/DR solutions with RTO/RPO requirements
- Troubleshooting performance issues using monitoring tools
- Automating maintenance and deployment tasks
- Configuring backup retention and performing restores
- Migrating on-premises databases to Azure
- Optimizing costs while meeting performance requirements
Study Approach¶
- Complete Microsoft Learn DP-300 learning path
- Get hands-on experience with all deployment options
- Practice backup/restore and failover scenarios
- Learn to use monitoring and troubleshooting tools
- Master PowerShell and CLI commands
- Understand pricing models and cost optimization
- Review official documentation linked in this fact sheet
- Take practice exams to identify knowledge gaps
Document Statistics: - Total Sections: 8 major domains - Embedded Links: 120 documentation links - Lines: 700+ comprehensive coverage - Last Updated: 2025-10-13
Good luck with your DP-300 certification exam!