Course DP-300

 

Delivery Hint: Tools

We need to cover off the comon tools here. In particular Azure Data Studio (including Jupyter notebooks and markdown code).

 

Note on T-SQL Coding

The examples in this course and lab do not follow best practice for laying out T-SQL code. In particular, they lowercase keywords, they miss out the AS keyword, and they miss out trailing semicolons.

Transact-SQL Syntax Conventions (Transact-SQL) - SQL Server | Microsoft Learn

The Basics of Good T-SQL Coding Style - Simple Talk (red-gate.com)

https://www.bookdepository.com/Joe-Celkos-SQL-Programming-Style-Joe-Celko/9780120887972?ref=grid-view&qid=1659049304446&sr=1-5

 

My Samples

https://tinyurl.com/cbmctsamples

 

Learning Path

Module: Prepare to maintain SQL databases on Azure

Big data architectures - Azure Architecture Center | Microsoft Docs

Eight Azure SQL configurations you may have missed - Simple Talk (red-gate.com)

 

Module: Deploy IaaS solutions with Azure SQL

Compare the database engine features of SQL Database and SQL Managed Instance - Azure SQL Database & SQL Managed Instance | Microsoft Docs

 

Module: Evaluate strategies for migrating to Azure SQL

ALTER DATABASE compatibility level (Transact-SQL) - SQL Server | Microsoft Learn

https://www.nutanix.com/theforecastbynutanix/technology/creating-a-cloud-migration-strategy (has a nice discussion of the 7 Rs)

 

Module: Migrate SQL workloads to Azure Managed Instances

Replication in MI?
Transactional replication - Azure SQL Managed Instance | Microsoft Learn

 

Module: Configure database authentication and authorization

Zero Trust Model.

 

Lab: Enable Microsoft Defender for SQL and Data classification

The D4C pages change, and change often. This exercise will probably have to be an instructor-led lab, possibly preceded by the instructor frantically clicking around to find out where things have moved. :-)

Additionally, if we have only just activated the D4C trial then the recommendations will not have yet shown. Maybe come back to this section tomorrow?

 

Module: Describe Performance Monitoring

https://www.quest.com/community/blogs/b/database-management/posts/sql-server-performance-advice-from-brent-ozar-and-pinal-dave

https://www.sentryone.com/blog/allenwhite/sql-server-performance-counters-to-monitor

https://www.brentozar.com/archive/2006/12/dba-101-using-perfmon-for-sql-performance-tuning/

 

Module: Explore query performance optimization

Ten Common SQL Programming Mistakes - Simple Talk (red-gate.com)

Data Conversion in SQL Server - Simple Talk (red-gate.com)

 

Module: Automate deployment of database resources

Most of the templates in the quickstart repository are JSON files but there are Bicep files there.
https://github.com/Azure/azure-quickstart-templates

https://learn.microsoft.com/en-us/azure/developer/terraform/comparing-terraform-and-bicep?tabs=comparing-bicep-terraform-integration-features

 

Lab: Create a CPU status alert for a SQL Server

The module discusses SQL Agent and Maintenance Plans; the lab uses Azure Monitor. Go figure.

 

Module: Manage Azure PaaS tasks using automation

At the moment the portal has no support for creating any Elastic Job components. Creating jobs, groups, credentails, etc is by PowerShell or T-SQL.

Elastic Database Jobs (preview) - Azure SQL Database | Microsoft Docs

 

Lab: Backup to URL

Additional code, illustrating access policy (the recommended method to access storage accounts using static keys).

az storage account create --name <storage-account-name> --resource-group DP-300-Lab02 --kind StorageV2 -l <region>

az storage account keys list --resource-group DP-300-Lab02 -n <storage-account-name>

az storage container create --name backups --account-name <storage-account-name> --account-key "<account-key>" --fail-on-exist

az storage container list --account-name <storage-account-name> --account-key "<account-key>"

az storage container policy create --name sqlbackuppolicy --container-name backups --account-key "<account-key>" --account-name <storage-account-name> --permissions "rwdl" --expiry "2022-10-14"

az storage container generate-sas --name "backups" --account-name <storage-account-name> --policy-name sqlbackuppolicy --account-key "<account-key>" -o tsv

 

Note on Chapter Numbers

The July 2022 update of the course missed out the Intro module, so all of the chapters are numbered one less than they should be. For example, Module 1 Intro to Azure database admin is called Module 0.

Microsoft Learn sort-of eliminated the issue by removing all numbering completely! Chapters and labs are now identified by name only.