DP-300 Study Notes
DP-300 Study Notes
Intro
Note - this is a dump of my notes as they were when I sat the exam, I've just dumped them out of Notion, no update
happened after the exam.
There isn't a DP-300 learning path as I write this, I took the detailed skills outline and used my knowledge, plus the
MSDocs to fill in my gaps. I always do this before I start revising my weak spots, it becomes my revision plan. It may
also be worth searching in MSLearn for SQL while there's no learning path as new content is added and removed -
Search learning for SQL
This is a mix of free and paid content, but mostly free, it covers labs, workshops and Microsoft Learn tasks. The section
"Main resources outside of Docs" are generic learning sources, they cover one or more of the skills listed below them.
Detail for what I think each skill point is referencing is then added with a direct link to something in the Docs or part of
the Main resources section.
I didn't watch everything I have listed here video wise, they're listed incase I felt I needed another voice on a topic. My
way of studying is to build out the environments and test them. I also used to be a DBA (a long time ago), so some parts
of this will be light as I just needed a refresher. Hope it helps!
Video Courses
• https://www.pluralsight.com/courses/microsoft-azure-implementing-relational-database-solutions
• https://app.pluralsight.com/library/courses/introduction-azure-data-migration-service/table-of-contents
• https://app.pluralsight.com/library/courses/microsoft-azure-optimizing-data-solutions/table-of-contents
• https://app.pluralsight.com/library/courses/microsoft-azure-configuring-encryption-data-rest/table-of-contents
• https://app.pluralsight.com/library/courses/microsoft-azure-databases-access-securing/table-of-contents
• https://app.pluralsight.com/library/courses/microsoft-azure-configuring-encryption-data-rest/table-of-contents
• https://app.pluralsight.com/library/courses/analyzing-sql-server-query-plans/table-of-contents
• https://app.pluralsight.com/library/courses/azure-sql-database-diagnosing-performance-issues-dmvs/table-of-
contents
• https://app.pluralsight.com/library/courses/microsoft-azure-optimizing-data-solutions/table-of-contents
• https://app.pluralsight.com/library/courses/managing-azure-sql-server-database-performance/table-of-contents
• https://app.pluralsight.com/library/courses/sql-server-microsoft-administering-availability-groups/table-of-contents
• https://www.udemy.com/course/ms-sql-server-70-764/learn/lecture/8579018#overview- 70-764 Course
• https://www.udemy.com/course/ms-sql-server-70-765/learn/lecture/8579348?start=0#content- 70-765 Course
• https://www.udemy.com/course/professional-azure-sql-database-administration/learn/lecture/11937264#overview-
Has good reviews but seems to be reading out the Professional Azure SQL Book from above, word for word?
◦ https://docs.microsoft.com/en-us/azure/sql-database/sql-database-single-database-get-started
◦ https://github.com/microsoft/sqlworkshops-azuresqlworkshop/blob/master/azuresqlworkshop/02-
DeployAndConfigure.md
◦ https://docs.microsoft.com/en-us/sql/database-engine/install-windows/install-sql-server-from-the-command-
prompt?view=sql-server-ver15
◦ https://docs.microsoft.com/en-us/azure/virtual-machines/windows/sql/virtual-machines-windows-ps-sql-
create
◦ https://docs.microsoft.com/en-gb/azure/virtual-machines/windows/sql/virtual-machines-windows-portal-sql-
server-provision
◦ https://docs.microsoft.com/en-us/powershell/module/az.compute/set-azvmsourceimage?view=azps-3.8.0
◦ https://docs.microsoft.com/en-us/sql/database-engine/install-windows/install-sql-server-using-a-
configuration-file?view=sql-server-ver15
◦ https://docs.microsoft.com/en-us/azure/virtual-machines/windows/sql/virtual-machines-windows-sql-
register-with-resource-provider?tabs=azure-powershell%2Cbash#code-try-1
◦ https://docs.microsoft.com/en-us/azure/virtual-machines/windows/sql/virtual-machines-windows-sql-server-
agent-extension
◦ https://docs.microsoft.com/en-us/azure/sql-database/sql-database-paas-vs-sql-server-iaas
◦ https://docs.microsoft.com/en-us/azure/azure-sql/database/features-comparison
◦ https://github.com/microsoft/sqlworkshops-azuresqlworkshop/blob/master/azuresqlworkshop/01-
IntroToAzureSQL.md
◦ https://docs.microsoft.com/en-us/sql/sql-server/editions-and-components-of-sql-server-version-15?
view=sql-server-ver15
◦ https://docs.microsoft.com/en-us/azure/azure-sql/database/single-database-overview
◦ https://docs.microsoft.com/en-us/azure/azure-sql/database/elastic-pool-overview
◦ https://docs.microsoft.com/en-us/azure/azure-sql/managed-instance/sql-managed-instance-paas-overview
◦ sql vm - (Avail group, failover cluster, Log Shipping, Backup & Restore)
◦ https://docs.microsoft.com/en-us/azure/sql-database/sql-database-elastic-pool
◦ https://docs.microsoft.com/en-us/azure/sql-database/sql-database-elastic-pool-manage
◦ https://docs.microsoft.com/en-us/azure/sql-database/sql-database-performance-guidance
◦ https://docs.microsoft.com/en-us/azure/azure-sql/database/elastic-pool-scale
◦ https://docs.microsoft.com/en-us/azure/sql-database/sql-database-managed-instance
◦ Scaling: https://docs.microsoft.com/en-us/azure/sql-database/sql-database-managed-instance#managed-
instance-service-tiers
◦ https://docs.microsoft.com/en-us/azure/virtual-machines/windows/sql/virtual-machines-windows-sql-
performance
◦ https://docs.microsoft.com/en-us/azure/virtual-machines/windows/sql/virtual-machines-windows-sql-server-
storage-configuration
◦ https://docs.microsoft.com/en-us/azure/virtual-machines/windows/disks-types#disk-size
◦ https://www.spotlightcloud.io/blog/what-is-dtu-in-azure-sql-database-and-how-much-do-we-need
◦ https://docs.microsoft.com/en-us/azure/azure-sql/database/elastic-pool-overview#how-do-i-choose-the-
correct-pool-size
◦ https://docs.microsoft.com/en-us/azure/architecture/best-practices/data-partitioning
◦ https://docs.microsoft.com/en-us/azure/architecture/patterns/sharding
◾ Used in sharding - https://docs.microsoft.com/en-us/azure/sql-database/elastic-jobs-overview
◦ https://app.pluralsight.com/library/courses/microsoft-azure-optimizing-data-solutions/table-of-contents
◦ https://docs.microsoft.com/en-us/azure/sql-database/sql-database-elastic-scale-introduction
https://github.com/microsoft/sqlworkshops-azuresqllabs
https://docs.microsoft.com/learn/modules/assess-convert-sql-server-databases-using-dma/
https://docs.microsoft.com/en-gb/learn/modules/migrate-sql-workloads-azure-virtual-machines/
https://docs.microsoft.com/en-gb/learn/modules/migrate-on-premises-postgresql-databases/
https://docs.microsoft.com/en-gb/learn/modules/migrate-on-premises-mysql-databases/
https://docs.microsoft.com/en-gb/azure/dms/
◦ https://docs.microsoft.com/en-us/sql/dma/dma-assesssqlonprem?view=sql-server-ver15
◦ https://docs.microsoft.com/en-us/azure/dms/pre-reqs
◦ https://docs.microsoft.com/en-us/azure/dms/tutorial-sql-server-to-azure-sql
◦ https://datamigration.microsoft.com/scenario/sql-to-azuresqldb
◦ https://docs.microsoft.com/en-us/sql/database-engine/install-windows/supported-version-and-edition-
upgrades-version-15?view=sql-server-ver15
◦ https://docs.microsoft.com/en-us/sql/database-engine/install-windows/supported-version-and-edition-
upgrades-version-15#pre-upgrade-checklist
◦ https://docs.microsoft.com/en-us/azure/sql-database/sql-database-manage-application-rolling-upgrade
MS Learn
• https://docs.microsoft.com/en-gb/learn/paths/migrate-sql-workloads-azure/
• https://docs.microsoft.com/en-gb/learn/paths/sql-server-2017-upgrades/
◦ https://datamigration.microsoft.com/scenario/sql-to-azuresqldb?step=1
◦ https://docs.microsoft.com/en-us/azure/dms/tutorial-sql-server-azure-sql-online
◦ https://docs.microsoft.com/en-us/azure/dms/tutorial-sql-server-managed-instance-online
◦ https://docs.microsoft.com/en-us/azure/dms/tutorial-sql-server-azure-sql-online
◦ https://docs.microsoft.com/en-us/sql/database-engine/install-windows/upgrade-to-a-different-edition-of-sql-
server-setup?view=sql-server-ver15
◦ https://docs.microsoft.com/en-us/sql/database-engine/install-windows/upgrade-to-a-different-edition-of-sql-
server-setup
https://docs.microsoft.com/en-gb/learn/modules/secure-your-azure-sql-database/
• https://docs.microsoft.com/en-us/azure/sql-database/sql-database-security-overview
• https://app.pluralsight.com/library/courses/microsoft-ignite-session-45/transcript - Whats new in SQL Security
◦ https://docs.microsoft.com/en-us/azure/azure-sql/database/authentication-aad-overview
◦ https://docs.microsoft.com/en-us/azure/sql-database/sql-database-aad-authentication-configure?tabs=azure-
powershell
◦ https://docs.microsoft.com/en-us/azure/azure-sql/database/authentication-aad-configure?tabs=azure-
powershell#azure-ad-admin-with-a-server-in-sql-database
◦ https://docs.microsoft.com/en-us/sql/relational-databases/security/authentication-access/principals-database-
engine?view=sql-server-ver15
◦ https://docs.microsoft.com/en-us/azure/sql-database/transparent-data-encryption-azure-sql?tabs=azure-portal
◦ https://docs.microsoft.com/en-us/azure/virtual-machines/windows/sql/virtual-machines-windows-ps-sql-
keyvault
◦ https://docs.microsoft.com/en-us/sql/relational-databases/security/encryption/move-a-tde-protected-
database-to-another-sql-server?view=sql-server-ver15
• implement object-level encryption
◦ https://docs.microsoft.com/en-us/sql/relational-databases/security/encryption/encrypt-a-column-of-data?
view=sql-server-ver15
◦
◦ Partial vs Default
◦ https://docs.microsoft.com/en-us/azure/sql-database/sql-database-dynamic-data-masking-get-started
◦
• implement Azure Key Vault and disk encryption for Azure VMs
◦ https://docs.microsoft.com/en-us/azure/security/fundamentals/azure-disk-encryption-vms-vmss
https://docs.microsoft.com/en-us/azure/sql-database/sql-database-firewall-configure
◦ https://docs.microsoft.com/en-us/sql/relational-databases/security/encryption/always-encrypted-database-
engine?view=sql-server-ver15
◦ https://docs.microsoft.com/en-us/azure/azure-sql/database/always-encrypted-certificate-store-configure?
view=sql-server-ver15
◦ https://docs.microsoft.com/en-us/azure/azure-sql/database/always-encrypted-azure-key-vault-configure?
view=sql-server-ver15&tabs=azure-powershell
◦ https://techcommunity.microsoft.com/t5/azure-sql-database/integrate-microsoft-cloud-services-with-your-
azure-sql-database/ba-p/1083543
◦ https://docs.microsoft.com/en-us/data-integration/gateway/service-gateway-install
◦ https://docs.microsoft.com/en-us/azure/sql-database/sql-database-advanced-data-security
◦ https://docs.microsoft.com/en-us/azure/sql-database/sql-database-auditing
◦ https://docs.microsoft.com/en-us/sql/relational-databases/track-changes/about-change-tracking-sql-server?
view=sql-server-2017
◦ https://docs.microsoft.com/en-us/azure/sql-database/sql-vulnerability-assessment
• perform vulnerability assessment
◦ https://docs.microsoft.com/en-us/sql/relational-databases/performance/establish-a-performance-baseline?
view=sql-server-ver15
◦ https://www.sqlservercentral.com/steps/capturing-baselines-on-sql-server-wait-statistics
◦ https://docs.microsoft.com/en-us/sql/relational-databases/performance/performance-monitoring-and-tuning-
tools?view=sql-server-ver15
◦
◦ https://docs.microsoft.com/en-us/azure/azure-sql/database/query-performance-insight-use
◦ https://docs.microsoft.com/en-us/azure/azure-sql/database/intelligent-insights-overview
• configure and monitor activity and performance at the infrastructure, server, service, and database levels
• https://docs.microsoft.com/en-us/azure/azure-monitor/insights/sql-assessment
◦ https://docs.microsoft.com/en-us/sql/relational-databases/indexes/reorganize-and-rebuild-indexes?view=sql-
server-ver15
◦ https://docs.microsoft.com/en-us/sql/relational-databases/statistics/modify-statistics?view=sql-server-ver15
◦ https://docs.microsoft.com/en-us/sql/relational-databases/statistics/update-statistics?view=sql-server-ver15
◦ https://docs.microsoft.com/en-us/azure/azure-sql/database/automatic-tuning-enable
MSLearn
https://docs.microsoft.com/en-gb/learn/modules/automatically-tune-sql-server-linux/
https://docs.microsoft.com/en-gb/learn/modules/use-sql-server-query-tuning-assistant/
◦ https://docs.microsoft.com/en-us/sql/relational-databases/performance/best-practice-with-the-query-store?
view=sql-server-ver15
◦ https://docs.microsoft.com/en-us/sql/relational-databases/performance/monitoring-performance-by-using-
the-query-store?view=sql-server-ver15
◦ https://docs.microsoft.com/en-us/azure/azure-sql/database/intelligent-insights-troubleshoot-performance
◦ https://docs.microsoft.com/en-us/azure/azure-sql/database/monitoring-with-dmvs#monitoring-blocked-
queries
◦ https://docs.microsoft.com/en-us/sql/relational-databases/databases/database-instant-file-initialization?
view=sql-server-ver15
https://docs.microsoft.com/en-us/azure/virtual-machines/windows/sql/virtual-machines-windows-sql-server-
storage-configuration
◦ https://docs.microsoft.com/en-us/azure/azure-sql/virtual-machines/windows/storage-configuration
◦ https://docs.microsoft.com/en-gb/learn/modules/migrate-sql-workloads-azure-virtual-machines/2-
considerations-sql-server
◦ https://docs.microsoft.com/en-us/sql/relational-databases/databases/sql-server-data-files-in-microsoft-azure?
view=sql-server-ver15
◦ optimize IOPS, throughput, and latency
◾ optimize tempdb performance
◾ https://docs.microsoft.com/en-us/azure/azure-sql/virtual-machines/windows/performance-
guidelines-best-practices - search for tempdb
◾ https://docs.microsoft.com/en-us/sql/relational-databases/databases/tempdb-database?view=sql-
server-ver15#optimizing-tempdb-performance-in-sql-server
◾ optimize data and log files for performance
◾ https://docs.microsoft.com/en-us/azure/azure-sql/virtual-machines/windows/performance-
guidelines-best-practices#disks-guidance
◾ configure server and service account settings for performance
◾ https://docs.microsoft.com/en-us/azure/azure-sql/virtual-machines/windows/performance-
guidelines-best-practices#feature-specific-guidance
◾ configure Resource Governor for performance
◾ https://docs.microsoft.com/en-us/sql/relational-databases/resource-governor/resource-governor?
view=sql-server-ver15
◦ https://docs.microsoft.com/en-us/azure/azure-sql/database/metrics-diagnostic-telemetry-logging-streaming-
export-configure?tabs=azure-portal
◦ https://docs.microsoft.com/en-us/azure/azure-monitor/platform/action-groups
◦ https://docs.microsoft.com/en-us/sql/relational-databases/service-broker/event-notifications?view=sql-
server-ver15
Manage and automate tasks in Azure
◦ https://docs.microsoft.com/en-us/azure/azure-sql/database/arm-templates-content-guide?tabs=single-
database
◦ https://github.com/Azure/azure-quickstart-templates/tree/master/101-sql-elastic-pool-create
◦ https://github.com/Azure/azure-quickstart-templates/tree/master/101-sql-logical-server
◦ https://github.com/Azure/azure-quickstart-templates/tree/master/101-sql-vm-new-storage
• automate Backups
◦ https://docs.microsoft.com/en-us/azure/azure-sql/virtual-machines/windows/automated-backup
◦ https://docs.microsoft.com/en-us/azure/azure-sql/virtual-machines/windows/automated-patching
◦ https://docs.microsoft.com/en-us/azure/azure-sql/database/database-advisor-implement-performance-
recommendations
◦ https://docs.microsoft.com/en-us/azure/azure-sql/database/automatic-tuning-enable
◦ Azure Policy?
https://docs.microsoft.com/en-us/azure/azure-sql/database/business-continuity-high-availability-disaster-recover-hadr-
overview
https://docs.microsoft.com/en-us/azure/azure-sql/database/move-resources-across-regions
https://docs.microsoft.com/en-gb/azure/sql-database/sql-database-auto-failover-group?tabs=azure-powershell
https://docs.microsoft.com/learn/modules/backup-restore-azure-sql/
• perform a database backup with options
◦ https://docs.microsoft.com/en-us/sql/relational-databases/backup-restore/sql-server-backup-to-url?view=sql-
server-ver15
◦ https://docs.microsoft.com/en-us/azure/azure-sql/managed-instance/restore-sample-database-quickstart
◦ https://docs.microsoft.com/en-us/sql/relational-databases/backup-restore/restore-a-transaction-log-backup-
sql-server
◦ https://docs.microsoft.com/en-us/sql/relational-databases/backup-restore/tail-log-backups-sql-server
◦ https://docs.microsoft.com/en-us/sql/relational-databases/backup-restore/restore-a-sql-server-database-to-a-
point-in-time-full-recovery-model?view=sql-server-ver15
◦ https://docs.microsoft.com/en-us/azure/azure-sql/database/recovery-using-backups
◦ https://docs.microsoft.com/en-us/azure/azure-sql/database/long-term-retention-overview
◦ https://docs.microsoft.com/en-us/azure/backup/backup-sql-server-database-azure-vms
• configure replication
◦ https://docs.microsoft.com/en-us/azure/sql-database/sql-database-active-geo-replication
◦ https://docs.microsoft.com/en-us/azure/sql-database/scripts/sql-database-setup-geodr-and-failover-database-
powershell
◦ https://docs.microsoft.com/en-us/azure/azure-sql/managed-instance/replication-transactional-overview
◦ https://docs.microsoft.com/en-us/azure/azure-sql/managed-instance/replication-between-two-instances-
configure-tutorial
• configure Azure Site Recovery for a database offering
◦ https://docs.microsoft.com/en-us/azure/site-recovery/site-recovery-sql
◦ https://docs.microsoft.com/en-us/sql/database-engine/availability-groups/windows/overview-of-always-on-
availability-groups-sql-server?view=sql-server-ver15
◦ https://docs.microsoft.com/en-us/sql/database-engine/availability-groups/windows/creation-and-
configuration-of-availability-groups-sql-server?view=sql-server-ver15
◦ https://docs.microsoft.com/en-us/sql/database-engine/availability-groups/windows/join-a-secondary-
database-to-an-availability-group-sql-server?view=sql-server-ver15
• configure quorum options for a Windows Server Failover Cluster
◦ https://docs.microsoft.com/en-us/sql/database-engine/availability-groups/windows/create-or-configure-an-
availability-group-listener-sql-server?view=sql-server-ver15
◦ https://docs.microsoft.com/en-us/windows-server/failover-clustering/manage-cluster-quorum
◦ https://docs.microsoft.com/en-us/windows-server/storage/storage-spaces/understand-quorum
◦ https://docs.microsoft.com/en-us/azure/azure-sql/database/monitoring-with-dmvs
◦ https://docs.microsoft.com/en-us/sql/relational-databases/system-dynamic-management-views/sys-dm-db-
wait-stats-azure-sql-database?view=azuresqldb-current
◦ https://docs.microsoft.com/en-us/sql/relational-databases/extended-events/use-the-system-health-session?
view=sql-server-ver15
◦ https://docs.microsoft.com/en-us/sql/relational-databases/system-dynamic-management-views/sys-dm-os-
wait-stats-transact-sql?view=sql-server-ver15
◦ https://docs.microsoft.com/en-us/sql/relational-databases/system-dynamic-management-views/sys-dm-exec-
session-wait-stats-transact-sql?view=sql-server-ver15
◦ https://docs.microsoft.com/en-us/sql/relational-databases/system-stored-procedures/sp-server-diagnostics-
transact-sql?view=sql-server-ver15
◦ https://docs.microsoft.com/en-us/sql/t-sql/database-console-commands/dbcc-transact-sql?view=sql-server-
ver15
• determine the appropriate Dynamic Management Views (DMVs) to gather query performance information
◦ https://docs.microsoft.com/en-us/sql/relational-databases/system-dynamic-management-views/sys-dm-exec-
sql-text-transact-sql?view=sql-server-ver15
• identify performance issues using DMVs
◦ https://docs.microsoft.com/en-us/sql/relational-databases/system-dynamic-management-views/sys-dm-os-
wait-stats-transact-sql?view=sql-server-2017
◦ https://docs.microsoft.com/en-us/sql/relational-databases/system-dynamic-management-views/sys-dm-exec-
query-stats-transact-sql
• identify and implement index changes for queries
• recommend query construct modifications based on resource usage
• assess the use of hints for query performance