SQL Training
Microsoft SQL Server Training
DP-080 Querying Data with Microsoft Transact-SQL
Module 1: Getting Started with Transact-SQL
In this module you will learn about the basics of the Transact-SQL (T-SQL) language, as well as general properties and terminology of relational databases. This module will also introduce the basic SELECT statement for retrieving data from a table.
Lessons
Introduction to Transact-SQL
Using the SELECT statement
Lab : Get started with SQL Server query tools and writing queries in T-SQL
After completing this module, students will be able to:
Using a query tool to write and execute queries in Transact-SQL
Understand the basic concepts of relational database and the T-SQL language
Write SELECT statements to retrieve data from a relational database table
Understand basic datatypes and how they are used
Understand the basics of NULL values
Module 2: Sorting and Filtering Query Results
In the module you will learn how to control what data is returned, the order in which it is returned. You will use the ORDER BY clause, with and without paging. You will learn about various kinds of filters that can be used in the WHERE clause to control which data rows are returned. You will also learn how to manage the results by removing duplicates with DISTINCT.
Lessons
Sorting query results
Filtering the data
Lab : Sort and filter data returned by SELECT queries
After completing this module, students will be able to:
Use ORDER BY to sort results from a T-SQL SELECT statement
Add a TOP clause to limit the ordered rows returned
Page the sorted data with OFFSET-FET
Write WHERE clauses to filter the rows returned
Use DISTINCT to eliminate duplicate rows in the results
Module 3: Using Joins and Subqueries
In this module, you will explore T-SQL queries which access data from multiple tables with various kinds of JOIN operations and simple subqueries.
Lessons
Using JOIN operations
Using subqueries
Lab : Write queries with JOIN operations
Lab : Write SELECT statements using subqueries
After completing this module, students will be able to:
Write queries accessing data from multiple tables using JOIN operations
Understand the differences between type of JOIN operations: INNER JOIN, OUTER JOIN, CROSS JOIN
Understand how to join a table to itself with a self-join
Write subqueries within a SELECT statement
Understand the difference between scalar and multi-valued subqueries
Understand the difference between correlated and self-contained subqueries
Module 4: Using Built-in Functions
In the module you will explore the use of built-in functions for returning computed or special values in the SELECT list or in the WHERE clause. Functions include math functions, string functions and system functions. There are other types of functions that will be mentioned, but not discussed in detail. You will also learn how to combine rows of data into a single group, providing summary information for the group such as SUM, MIN or MAX.
Lessons
Getting started with scalar functions
Grouping aggregated results
Lab : Built-in functions
After completing this module, students will be able to:
Write queries using scalar functions
Write queries using aggregate functions
Use GROUP BY to combine data into groups based on a common column value
Understand how HAVING is used to filter groups of rows
Module 5: Modifying Data
In this module, you will learn the T-SQL statements for modifying table data including UPDATE, DELETE and MERGE as well as various options for INSERT including creating a new table with data from an existing table. You will also look at how to have the system automatically supply values for columns as the data is inserted.
Lessons
Inserting data into tables
Modifying and deleting data
Lab : Modify data
After completing this module, students will be able to:
Insert data into an existing table
Specify that a column should be automatically populating with an IDENTITY or a SEQUENCE value
Modify data using the UPDATE statement
Delete data using the DELETE statement
Modify data using MERGE to synchronize two tables
Next steps:
Please contact us for dates.
2 days online or at one of our locations.
Europe: €1390 excluding VAT.
North America: US$1.390 (Course runs on Eastern Standard Time)
Please contact using the button or send a request to:
We will send you a booking form and further information.
DP-203 Data Engineering on Microsoft Azure
Module 1: Explore compute and storage options for data engineering workloads
This module provides an overview of the Azure compute and storage technology options that are available to data engineers building analytical workloads. This module teaches ways to structure the data lake, and to optimize the files for exploration, streaming, and batch workloads. The student will learn how to organize the data lake into levels of data refinement as they transform files through batch and stream processing. Then they will learn how to create indexes on their datasets, such as CSV, JSON, and Parquet files, and use them for potential query and workload acceleration.
Lessons
Introduction to Azure Synapse Analytics
Describe Azure Databricks
Introduction to Azure Data Lake storage
Describe Delta Lake architecture
Work with data streams by using Azure Stream Analytics
Lab : Explore compute and storage options for data engineering workloads
Combine streaming and batch processing with a single pipeline
Organize the data lake into levels of file transformation
Index data lake storage for query and workload acceleration
After completing this module, students will be able to:
Describe Azure Synapse Analytics
Describe Azure Databricks
Describe Azure Data Lake storage
Describe Delta Lake architecture
Describe Azure Stream Analytics
Module 2: Run interactive queries using Azure Synapse Analytics serverless SQL pools
In this module, students will learn how to work with files stored in the data lake and external file sources, through T-SQL statements executed by a serverless SQL pool in Azure Synapse Analytics. Students will query Parquet files stored in a data lake, as well as CSV files stored in an external data store. Next, they will create Azure Active Directory security groups and enforce access to files in the data lake through Role-Based Access Control (RBAC) and Access Control Lists (ACLs).
Lessons
Explore Azure Synapse serverless SQL pools capabilities
Query data in the lake using Azure Synapse serverless SQL pools
Create metadata objects in Azure Synapse serverless SQL pools
Secure data and manage users in Azure Synapse serverless SQL pools
Lab : Run interactive queries using serverless SQL pools
Query Parquet data with serverless SQL pools
Create external tables for Parquet and CSV files
Create views with serverless SQL pools
Secure access to data in a data lake when using serverless SQL pools
Configure data lake security using Role-Based Access Control (RBAC) and Access Control List
After completing this module, students will be able to:
Understand Azure Synapse serverless SQL pools capabilities
Query data in the lake using Azure Synapse serverless SQL pools
Create metadata objects in Azure Synapse serverless SQL pools
Secure data and manage users in Azure Synapse serverless SQL pools
Module 3: Data exploration and transformation in Azure Databricks
This module teaches how to use various Apache Spark DataFrame methods to explore and transform data in Azure Databricks. The student will learn how to perform standard DataFrame methods to explore and transform data. They will also learn how to perform more advanced tasks, such as removing duplicate data, manipulate date/time values, rename columns, and aggregate data.
Lessons
Describe Azure Databricks
Read and write data in Azure Databricks
Work with DataFrames in Azure Databricks
Work with DataFrames advanced methods in Azure Databricks
Lab : Data Exploration and Transformation in Azure Databricks
Use DataFrames in Azure Databricks to explore and filter data
Cache a DataFrame for faster subsequent queries
Remove duplicate data
Manipulate date/time values
Remove and rename DataFrame columns
Aggregate data stored in a DataFrame
After completing this module, students will be able to:
Describe Azure Databricks
Read and write data in Azure Databricks
Work with DataFrames in Azure Databricks
Work with DataFrames advanced methods in Azure Databricks
Module 4: Explore, transform, and load data into the Data Warehouse using Apache Spark
This module teaches how to explore data stored in a data lake, transform the data, and load data into a relational data store. The student will explore Parquet and JSON files and use techniques to query and transform JSON files with hierarchical structures. Then the student will use Apache Spark to load data into the data warehouse and join Parquet data in the data lake with data in the dedicated SQL pool.
Lessons
Understand big data engineering with Apache Spark in Azure Synapse Analytics
Ingest data with Apache Spark notebooks in Azure Synapse Analytics
Transform data with DataFrames in Apache Spark Pools in Azure Synapse Analytics
Integrate SQL and Apache Spark pools in Azure Synapse Analytics
Lab : Explore, transform, and load data into the Data Warehouse using Apache Spark
Perform Data Exploration in Synapse Studio
Ingest data with Spark notebooks in Azure Synapse Analytics
Transform data with DataFrames in Spark pools in Azure Synapse Analytics
Integrate SQL and Spark pools in Azure Synapse Analytics
After completing this module, students will be able to:
Describe big data engineering with Apache Spark in Azure Synapse Analytics
Ingest data with Apache Spark notebooks in Azure Synapse Analytics
Transform data with DataFrames in Apache Spark Pools in Azure Synapse Analytics
Integrate SQL and Apache Spark pools in Azure Synapse Analytics
Module 5: Ingest and load data into the data warehouse
This module teaches students how to ingest data into the data warehouse through T-SQL scripts and Synapse Analytics integration pipelines. The student will learn how to load data into Synapse dedicated SQL pools with PolyBase and COPY using T-SQL. The student will also learn how to use workload management along with a Copy activity in a Azure Synapse pipeline for petabyte-scale data ingestion.
Lessons
Use data loading best practices in Azure Synapse Analytics
Petabyte-scale ingestion with Azure Data Factory
Lab : Ingest and load Data into the Data Warehouse
Perform petabyte-scale ingestion with Azure Synapse Pipelines
Import data with PolyBase and COPY using T-SQL
Use data loading best practices in Azure Synapse Analytics
After completing this module, students will be able to:
Use data loading best practices in Azure Synapse Analytics
Petabyte-scale ingestion with Azure Data Factory
Module 6: Transform data with Azure Data Factory or Azure Synapse Pipelines
This module teaches students how to build data integration pipelines to ingest from multiple data sources, transform data using mapping data flowss, and perform data movement into one or more data sinks.
Lessons
Data integration with Azure Data Factory or Azure Synapse Pipelines
Code-free transformation at scale with Azure Data Factory or Azure Synapse Pipelines
Lab : Transform Data with Azure Data Factory or Azure Synapse Pipelines
Execute code-free transformations at scale with Azure Synapse Pipelines
Create data pipeline to import poorly formatted CSV files
Create Mapping Data Flows
After completing this module, students will be able to:
Perform data integration with Azure Data Factory
Perform code-free transformation at scale with Azure Data Factory
Module 7: Orchestrate data movement and transformation in Azure Synapse Pipelines
In this module, you will learn how to create linked services, and orchestrate data movement and transformation using notebooks in Azure Synapse Pipelines.
Lessons
Orchestrate data movement and transformation in Azure Data Factory
Lab : Orchestrate data movement and transformation in Azure Synapse Pipelines
Integrate Data from Notebooks with Azure Data Factory or Azure Synapse Pipelines
After completing this module, students will be able to:
Orchestrate data movement and transformation in Azure Synapse Pipelines
Module 8: End-to-end security with Azure Synapse Analytics
In this module, students will learn how to secure a Synapse Analytics workspace and its supporting infrastructure. The student will observe the SQL Active Directory Admin, manage IP firewall rules, manage secrets with Azure Key Vault and access those secrets through a Key Vault linked service and pipeline activities. The student will understand how to implement column-level security, row-level security, and dynamic data masking when using dedicated SQL pools.
Lessons
Secure a data warehouse in Azure Synapse Analytics
Configure and manage secrets in Azure Key Vault
Implement compliance controls for sensitive data
Lab : End-to-end security with Azure Synapse Analytics
Secure Azure Synapse Analytics supporting infrastructure
Secure the Azure Synapse Analytics workspace and managed services
Secure Azure Synapse Analytics workspace data
After completing this module, students will be able to:
Secure a data warehouse in Azure Synapse Analytics
Configure and manage secrets in Azure Key Vault
Implement compliance controls for sensitive data
Module 9: Support Hybrid Transactional Analytical Processing (HTAP) with Azure Synapse Link
In this module, students will learn how Azure Synapse Link enables seamless connectivity of an Azure Cosmos DB account to a Synapse workspace. The student will understand how to enable and configure Synapse link, then how to query the Azure Cosmos DB analytical store using Apache Spark and SQL serverless.
Lessons
Design hybrid transactional and analytical processing using Azure Synapse Analytics
Configure Azure Synapse Link with Azure Cosmos DB
Query Azure Cosmos DB with Apache Spark pools
Query Azure Cosmos DB with serverless SQL pools
Lab : Support Hybrid Transactional Analytical Processing (HTAP) with Azure Synapse Link
Configure Azure Synapse Link with Azure Cosmos DB
Query Azure Cosmos DB with Apache Spark for Synapse Analytics
Query Azure Cosmos DB with serverless SQL pool for Azure Synapse Analytics
After completing this module, students will be able to:
Design hybrid transactional and analytical processing using Azure Synapse Analytics
Configure Azure Synapse Link with Azure Cosmos DB
Query Azure Cosmos DB with Apache Spark for Azure Synapse Analytics
Query Azure Cosmos DB with SQL serverless for Azure Synapse Analytics
Module 10: Real-time Stream Processing with Stream Analytics
In this module, students will learn how to process streaming data with Azure Stream Analytics. The student will ingest vehicle telemetry data into Event Hubs, then process that data in real time, using various windowing functions in Azure Stream Analytics. They will output the data to Azure Synapse Analytics. Finally, the student will learn how to scale the Stream Analytics job to increase throughput.
Lessons
Enable reliable messaging for Big Data applications using Azure Event Hubs
Work with data streams by using Azure Stream Analytics
Ingest data streams with Azure Stream Analytics
Lab : Real-time Stream Processing with Stream Analytics
Use Stream Analytics to process real-time data from Event Hubs
Use Stream Analytics windowing functions to build aggregates and output to Synapse Analytics
Scale the Azure Stream Analytics job to increase throughput through partitioning
Repartition the stream input to optimize parallelization
After completing this module, students will be able to:
Enable reliable messaging for Big Data applications using Azure Event Hubs
Work with data streams by using Azure Stream Analytics
Ingest data streams with Azure Stream Analytics
Module 11: Create a Stream Processing Solution with Event Hubs and Azure Databricks
In this module, students will learn how to ingest and process streaming data at scale with Event Hubs and Spark Structured Streaming in Azure Databricks. The student will learn the key features and uses of Structured Streaming. The student will implement sliding windows to aggregate over chunks of data and apply watermarking to remove stale data. Finally, the student will connect to Event Hubs to read and write streams.
Lessons
Process streaming data with Azure Databricks structured streaming
Lab : Create a Stream Processing Solution with Event Hubs and Azure Databricks
Explore key features and uses of Structured Streaming
Stream data from a file and write it out to a distributed file system
Use sliding windows to aggregate over chunks of data rather than all data
Apply watermarking to remove stale data
Connect to Event Hubs read and write streams
After completing this module, students will be able to:
Process streaming data with Azure Databricks structured streaming
Next steps:
Please contact us for dates.
4 days online or at one of our locations.
Europe: €2,780 Excluding VAT.
North America: US$2,780 (Course runs on Eastern Standard Time)
Please contact using the button or send a request to:
We will send you a booking form and further information.
DP-300 Administering Relational Databases on Microsoft Azure
Module 1: The Role of the Azure Database Administrator
This module explores the role of a database administrator in the world of Azure. It also provides some foundational information relevant to the overall content. This includes a review of the various SQL Server-based options (SQL Server in a VM, Managed Instances, and Azure SQL Database.) Students will learn why compatibility level is a crucial concept when working with SQL databases in Azure. Students are also introduced to other database platforms available on Azure in addition to those based on SQL Server, in particular PostgreSQL and MySQL
Lessons
Azure Data Platform Role
Azure Database Platforms and Options
SQL Server Compatibility Levels
Azure Preview Features
Lab : Using the Azure Portal and SQL Server Management Studio
Provision a SQL Server on an Azure Virtual Machine
Connect to SQL Server and Restore a Backup
After completing this module, students will be able to:
Understand the role of Azure Database Administrator as it fits in with other data platform roles
Be able to describe the key differences between the SQL Server-based database options in Azure and other open-source database platforms available on Azure
Be able to describe the difference between versions and compatibility levels
Know how to enable and disable preview features
Module 2: Plan and Implement Data Platform Resources
This module introduces methods for deploying data platform resources in Azure. You will learn about options for both upgrading and migrating existing SQL databases to Azure. You will learn how to set up Azure resources to host SQL Server on a Virtual Machine, a Managed Instance, Azure SQL Database and either PostgreSQL or MySQL. You will learn how to determine which options are best based on specific requirements including the High Availability and Disaster Recovery (HADR) needs. They will learn to calculate resource requirements and create templates for their deployments.
Lessons
Deploying SQL Server using IaaS
Deploying SQL Server using PaaS
Deploying Open Source Database Solutions on Azure
Lab : Deploying Azure SQL Database
Deploy a VM using an ARM template
Configure resources needed prior to creating a database
Deploy an Azure SQL Database
Register the Azure SQL Database instance in Azure Data Studio and validate connectivity
Deploy PostgreSQL or MySQL using a client tool to validate connectivity
After completing this module, students will be able to:
Deploy resoureces using manual methods
Reconmmend an appropriate databvase offering based on requirements
Configure database resources
Evaluate and implement a strategy for moving a database to Azure
Module 3: Implement a Secure Environment
This module explores the practices of securing your SQL Server Database as well as an Azure SQL database. This includes a review of the various SQL Server-based options as well as the various Azure options for securing Azure SQL Database as well as the databases with reside within Azure SQL Database. . Students will lean why security is crucial when working with databases. . Students are also introduced to other database platforms available on Azure in addition to those based on SQL Server, in particular, Azure Database for MariaDB/MySQL/PostgreSQL
Lessons
Configure Database Authentication
Configure Database Authorization
Implement Security for Data at Rest
Implement Security for Data in Transit
Implement Compliance Controls for Sensitive Data
Lab : Implement a Secure Environment
Configure a server-based firewall rule using the Azure Portal
Authorize Access to Azure SQL Database with Azure Active Directory
Enable Advanced Data Security and Data Classification
Manage access to database objects
After completing this module, students will be able to:
Understand the differences between Windows, SQL Server and Azure Active Directory Authentication
Describe and configure both data-at-rest encryption solutions as well as data-in-transit encryption
Implement a data sensitivity solution
Module 4: Monitor and Optimize Operational Resources
This module will teach you about resource optimization for your databases created using either IaaS or PaaS services. The module also covers monitoring server and hardware resources. It will familiarize you with the various tools available for monitoring performance and establishing a baseline. You will learn how to interpret performance metrics for the most critical resources. You will also learn how to troubleshoot database performance using Azure SQL Database Intelligent Insights.
Lessons
Baselines and Performance Monitoring
Major Causes of Performance Issues
Configuring Resources for Optimal Performance
User Database Configuration
Performance-related Maintenance Tasks
Lab : Monitor and Optimize Resources
Isolate CPU Problems
Use Query Store observe blocking problems
Detect and correct fragmentation issues
After completing this module, students will be able to:
Monitor activity and compare to a baseline
Define maintenance tasks related to performance
Identify major causes of performance problems
Configure resources for optimal performance
Configure a user database for optimal performance
Module 5: Optimize Query Performance
Query execution plans are potentially the most important aspect of database performance. Improving bad plans is certainly an area where a small amount of effort can bring huge improvements. While hardware issues can limit query performance, improving hardware usually yields performance improvements in the 10-20% range, at most. More commonly database administrators encounter queries that are not optimized, have stale or missing statistics, have missing indexes, or poor database design choices that lead to the database engine doing more work than is necessary to return results for a given query. Improving the plans can sometimes yield performance improvements in the 100-200% range or even more, meaning that after improving a plan with better indexes or statistics, a query could run twice or three times as fast! This module provides details on how to analyze individual query performance and determine where improvements can be made.
Lessons
Understanding SQL Server Query Plans
Explore Performance-based Database Design
Evaluate Performance Improvements
Lab : Query Performance Troubleshooting
Identify issues with database design AdventureWorks2017
Isolate problem areas in poorly performing queries in AdventureWorks2017
Use Query Store to detect and handle regression in AdventureWorks2017
Use query hints to impact performance in AdventureWorks2017
After completing this module, students will be able to:
Analyze query plans and identify problem areas
Evaluate potential query improvements
Review table and index design
Determine whether query or design changes have had a positive effect
Module 6: Automation of Tasks
A common goal for database administrators in many environments is to automate as many of their repetitive tasks. This can be as simple as using scripting to automate a backup process, and as complex as building a fully automated alerting system. This module provides details of automating tasks to simplify the DBA’s job. Methods include scheduling tasks for regular maintenance jobs, as well as multi-instance administration and configuration of notifications for task success or failure or non-completion.
Lessons
Setting up Automatic Deployment
Defining Scheduled Tasks
Managing Azure PaaS resources Using Automated Methods
Lab : Automating Tasks
Deploy an Azure template from a Quickstart template on GitHub
Configure notifications based on performance metrics
Deploy an Azure Automation Runbook (or elastic job) to rebuild indexes on an Azure SQL Database
After completing this module, students will be able to:
Deploy resources using automated deployment scripts
Create scheduled tasks
Create notifications and alerts
Configure automation for PaaS services
Module 7: Plan and Implement a High Availability and Disaster Recovery Environment
Data must be available when the business needs it. That means the solutions hosting the data must be designed with availability and recoverability in mind. Suppose you work for a company that sells widgets both in stores and online. Your main application uses a highly transactional database for orders. What would happen if the server or platform hosting the transactional database had a problem that made it unavailable or inaccessible for some reason? What impact would it have on the business? If the right solution is put in place, the database would come online in a reasonable timeframe with minimal effort, thus allowing business to continue with little-to-no impact. This module and its associated lab cover configuring, testing, and managing a solution for high availability and disaster recovery (HADR) in Azure, for both Infrastructure-as-a-Service (IaaS) and Platform-as-a-Service (PaaS) deployments. This module will not only cover basic requirements, but also the various options available to achieve HADR.
Lessons
High Availability and Disaster Recovery Strategies
IaaS Platform and Database Tools for HADR
PaaS Platform and Database Tools for HADR
Database Backup and Recovery
Lab : Plan and Implement a High Availability and Disaster Recovery Environment
Create an Always On Availability Group
Enable Geo-Replication for Azure SQL Database
Backup to URL and Restore from URL
After completing this module, students will be able to:
The difference between recovery time and recovery point objectives
The available HADR options for both IaaS and PaaS
The considerations for planning and configuring HADR solutions including how backup and restore fi
The factors that comprise a HADR strategy
How to configure a high availability solution via a hands-on lab
Next steps:
Please contact us for dates.
4 days online or at one of our locations.
Europe: €2,780 Excluding VAT.
North America: US$2,780 (Course runs on Eastern Standard Time)
Please contact using the button or send a request to:
We will send you a booking form and further information.
DP-500: Designing and Implementing Enterprise-Scale Analytics Solutions Using Microsoft Azure and Microsoft Power BI
■ Module 1 Introduction to data analytics on Azure
Explore Azure data services for modern analytics
Understand concepts of data analytics
Explore data analytics at scale
■ Module 2 govern-data-across-enterprise
Introduction to Azure Purview
Discover trusted data using Microsoft Purview
Catalog data artifacts by using Microsoft Purview
Manage Power BI assets by using Microsoft Purview
Integrate Microsoft Purview and Azure Synapse Analytics
■ Module 3 model-query-explore-data-for-azure-synapse
Introduction to Azure Synapse Analytics
Use Azure Synapse serverless SQL pool to query files in a data lake
Analyze data with Apache Spark in Azure Synapse Analytics
Analyze data in a relational data warehouse
■ Module 4 prepare-data-for-tabular-models-power-bi
Choose a Power BI model framework
Understand scalability in Power BI
Create and manage scalable Power BI dataflows
■ Module 5 design-build-tabular-models
Create Power BI model relationships
Use DAX time intelligence functions in Power BI Desktop models
Create calculation groups
Enforce Power BI model security
Use tools to optimize Power BI performance
■ Module 6 implement-advanced-data-visualization-techniques
Understand advanced data visualization concepts
Monitor data in real-time with Power BI
create-distribute-paginated-reports-power-bi-report-builder
■ Module 7 implement-manage-analytics-environment
Provide governance in a Power BI environment
Facilitate collaboration and sharing in Power BI
Monitor and audit usage
Provision Premium capacity in Power BI
Establish a data access infrastructure in Power BI
Broaden the reach of Power BI
automate-power-bi-administration
Build reports using Power BI within Azure Synapse Analytics
■ Module 8 manage-analytics-development-lifecycle
Design a Power BI application lifecycle management strategy
Create and manage a Power BI deployment pipeline
Create and manage Power BI assets
Next steps:
Please contact us for dates.
4 days online or at one of our locations.
Europe: €2,780 Excluding VAT.
North America: US$2,780 (Course runs on Eastern Standard Time)
Please contact using the button or send a request to:
We will send you a booking form and further information.
DP-900 Microsoft Azure Data Fundamentals
Module 1: Explore core data concepts
Students will learn about core data concepts such as relational, non-relational, big data, and analytics, and build their foundational knowledge of cloud data services within Microsoft Azure.
Lessons
Core data concepts
Data roles and Services
After completing this module, students will be able to:
Identify how data is defined and stored
Identify characteristics of relational and non-relational data
Describe and differentiate data workloads
Describe and differentiate batch and streaming data
Identify common data professional roles
Identify common cloud services used by data professionals
Module 2: Explore fundamentals of relational data in Azure
Students will explore fundamental relational data concepts and relational database services in Azure.
Lessons
Explore relational data offerings in Azure
Explore Azure services for relational data
Lab : Provision Azure relational database services
After completing this module, students will be able to:
Identify characteristics of relational data
Define normalization
Identify types of SQL statement
Identify common relational database objects
Identify options for Azure SQL services
Identify options for open-source databases in Azure
Provision a database service on Azure
Module 3: Explore fundamentals of non-relational data in Azure
Students will explore Azure storage for non-relational data and the fundamentals of Azure Cosmos DB.
Lessons
Fundamentals of Azure Storage
Fundamentals of Azure Cosmos DB
Lab : Explore Azure Storage
Lab : Explore Azure Cosmos DB
After completing this module, students will be able to:
Describe features and capabilities of Azure blob storage
Describe features and capabilities of Azure Data Lake Gen2
Describe features and capabilities of Azure file storage
Describe features and capabilities of Azure table storage
Provision and use an Azure Storage account
Describe key features and capabilities of Azure Cosmos DB
Identify the APIs supported in Azure Cosmos DB
Provision and use an Azure Cosmos DB instance
Module 4: Explore fundamentals of data analytics
Students will learn about modern data warehousing, real-time analytics, and data visualization.
Lessons
Modern data warehousing
Streaming and real-time analytics
Data visualization
Lab : Analyze streaming data
Lab : Visualize data with Power BI
Lab : Explore Azure Synapse Analytics
After completing this module, students will be able to:
Identify common elements of a modern data warehousing solution
Describe key features for data ingestion pipelines
Identify common types of analytical data store and related Azure services
Provision Azure Synapse Analytics and use it to ingest, process, and query data
Compare batch and stream processing
Describe common elements of streaming data solutions
Describe features and capabilities of Azure Stream Analytics
Describe features and capabilities of Spark Structured Streaming on Azure
Describe features and capabilities of Azure Synapse Data Explorer
Describe a high-level process for creating reporting solutions with Microsoft Power BI
Describe core principles of analytical data modeling
Identify common types of data visualization and their uses
Create an interactive report with Power BI Desktop
Next steps:
Please contact us for dates.
1 day online or at one of our locations.
Europe: €695 excluding VAT.
North America: US$695 (Course runs on Eastern Standard Time)
Please contact using the button or send a request to:
We will send you a booking form and further information.
20764 Administering a SQL Database Infrastructure
Module 1: SQL Server Security
Protection of data within your Microsoft SQL Server databases is essential and requires a working knowledge of the issues and SQL Server security features.
This module describes SQL Server security models, logins, users, partially contained databases, and cross-server authorization.
Lessons
Authenticating Connections to SQL Server
Authorizing Logins to Connect to databases
Authorization Across Servers
Partially Contained Databases
Lab : Authenticating Users
Create Logins
Create Database Users
Correct Application Login Issues
Configure Security for Restored Databases
After completing this module, you will be able to:
SQL Server basic concepts.
SQL Server connection authentication.
User login authorization to databases.
Partially contained databases.
Authorization across servers.
(Please click here to to see/hide full course outline)
Module 2: Assigning Server and Database Roles
Using roles simplifies the management of user permissions. With roles, you can control authenticated users’ access to system resources based on each user’s job function—rather than assigning permissions user-by-user, you can grant permissions to a role, then make users members of roles. Microsoft SQL Server includes support for security roles defined at server level and at database level.
Lessons
Working with server roles
Working with Fixed Database Roles
Assigning User-Defined Database Roles
Lab : Assigning server and database roles
Assigning Server Roles
Assigning Fixed Database Roles
Assigning User-Defined Database Roles
Verifying Security
After completing this module, you will be able to:
Describe and use server roles to manage server-level security.
Describe and use fixed database roles.
Use custom database roles and application roles to manage database-level security.
Module 3: Authorizing Users to Access Resources
In the previous modules, you have seen how Microsoft SQL Server security is organized and how sets of permissions can be assigned at the server and database level by using fixed server roles, user-defined server roles, fixed database roles, and application roles. The final step in authorizing users to access SQL Server resources is the authorization of users and roles to access server and database objects.
In this module, you will see how these object permissions are managed. In addition to access permissions on database objects, SQL Server provides the ability to determine which users are allowed to execute code, such as stored procedures and functions. In many cases, these permissions and the permissions on the database objects are best configured at the schema level rather than at the level of the individual object. Schema-based permission grants can simplify your security architecture. You will explore the granting of permissions at the schema level in the final lesson of this module.
Lessons
Authorizing User Access to Objects
Authorizing Users to Execute Code
Configuring Permissions at the Schema Level
Lab : Authorizing users to access resources
Granting, Denying, and Revoking Permissions on Objects
Granting EXECUTE Permissions on Code
Granting Permissions at the Schema Level
After completing this module, you will be able to:
Authorize user access to objects.
Authorize users to execute code.
Configure permissions at the schema level.
Module 4: Protecting Data with Encryption and Auditing
When configuring security for your Microsoft SQL Server systems, you should ensure that you meet any of your organization’s compliance requirements for data protection. Organizations often need to adhere to industry-specific compliance policies, which mandate auditing of all data access. To address this requirement, SQL Server provides a range of options for implementing auditing.
Another common compliance requirement is the encryption of data to protect against unauthorized access in the event that access to the database files is compromised. SQL Server supports this requirement by providing transparent data encryption (TDE). To reduce the risk of information leakage by users with administrative access to a database, columns containing sensitive data—such as credit card numbers or national identity numbers—can be encrypted using the Always Encrypted feature.
This module describes the available options for auditing in SQL Server, how to use and manage the SQL Server Audit feature, and how to implement encryption.
Lessons
Options for auditing data access in SQL Server
Implementing SQL Server Audit
Managing SQL Server Audit
Protecting Data with Encryption
Lab : Using Auditing and Encryption
Working with SQL Server Audit
Encrypt a Column as Always Encrypted
Encrypt a Database using TDE
After completing this module, you will be able to:
Describe the options for auditing data access.
Implement SQL Server Audit.
Manage SQL Server Audit.
Describe and implement methods of encrypting data in SQL Server.
Implement encryption
Module 5: Recovery Models and Backup Strategies
One of the most important aspects of a database administrator's role is ensuring that organizational data is reliably backed up so that, if a failure occurs, you can recover the data. Even though the computing industry has known about the need for reliable backup strategies for decades—and discussed this at great length—unfortunate stories regarding data loss are still commonplace. A further problem is that, even when the strategies in place work as they were designed, the outcomes still regularly fail to meet an organization’s operational requirements.
In this module, you will consider how to create a strategy that is aligned with organizational needs, based on the available backup models, and the role of the transaction logs in maintaining database consistency.
Lessons
Understanding Backup Strategies
SQL Server Transaction Logs
Planning Backup Strategies
Lab : Understanding SQL Server recovery models
Plan a Backup Strategy
Configure Database Recovery Models
After completing this module, you will be able to:
Describe various backup strategies.
Describe how database transaction logs function.
Plan SQL Server backup strategies.
Module 6: Backing Up SQL Server Databases
In the previous module, you learned how to plan a backup strategy for a SQL Server system. You can now learn how to perform SQL Server backups, including full and differential database backups, transaction log backups, and partial backups.
In this module, you will learn how to apply various backup strategies.
Lessons
Backing Up Databases and Transaction Logs
Managing Database Backups
Advanced Database Options
Lab : Backing Up Databases
Backing Up Databases
Performing Database, Differential, and Transaction Log Backups
Performing a Partial Backup
After completing this module, you will be able to:
Perform backups of SQL Server databases and transaction logs.
Manage database backups.
Describe advanced backup options.
Module 7: Restoring SQL Server 2016 Databases
In the previous module, you learned how to create backups of Microsoft SQL Server 2016 databases. A backup strategy might involve many different types of backup, so it is essential that you can effectively restore them.
You will often be restoring a database in an urgent situation. You must, however, ensure that you have a clear plan of how to proceed and successfully recover the database to the required state. A good plan and understanding of the restore process can help avoid making the situation worse.
Some database restores are related to system failure. In these cases, you will want to return the system as close as possible to the state it was in before the failure. Some failures, though, are related to human error and you might wish to recover the system to a point before that error. The point-in-time recovery features of SQL Server 2016 can help you to achieve this.
Because they are typically much larger, user databases are more likely to be affected by system failures than system databases. However, system databases can be affected by failures, and special care should be taken when recovering them. In particular, you need to understand how to recover each system database because you cannot use the same process for all system databases.
In this module, you will see how to restore user and system databases and how to implement point-in-time recovery.
Lessons
Understanding the Restore Process
Restoring Databases
Advanced Restore Scenarios
Point-in-Time Recovery
Lab : Restoring SQL Server Databases
Restoring a Database Backup
Restring Database, Differential, and Transaction Log Backups
Performing a Piecemeal Restore
After completing this module, you will be able to:
Explain the restore process.
Restore databases.
Perform advanced restore operations.
Perform a point-in-time recovery.
Module 8: Automating SQL Server Management
The tools provided by Microsoft SQL Server make administration easy when compared to some other database engines. However, even when tasks are easy to perform, it is common to have to repeat a task many times. Efficient database administrators learn to automate repetitive tasks. This can help to avoid situations where an administrator forgets to execute a task at the required time. Perhaps more importantly, the automation of tasks helps to ensure that they are performed consistently, each time they are executed.
This module describes how to use SQL Server Agent to automate jobs, how to configure security contexts for jobs, and how to implement multiserver jobs.
Lessons
Automating SQL Server management
Working with SQL Server Agent
Managing SQL Server Agent Jobs
Multi-server Management
Lab : Automating SQL Server Management
Create a SQL Server Agent Job
Test a Job
Schedule a Job
Configure Master and Target Servers
After completing this module, you will be able to:
Describe methods for automating SQL Server Management.
Configure jobs, job step types, and schedules.
Manage SQL Server Agent jobs.
Configure master and target servers.
Module 9: Configuring Security for SQL Server Agent
Other modules in this course have demonstrated the need to minimize the permissions that are granted to users, following the principle of “least privilege.” This means that users have only the permissions that they need to perform their tasks. The same logic applies to the granting of permissions to SQL Server Agent. Although it is easy to execute all jobs in the context of the SQL Server Agent service account, and to configure that account as an administrative account, a poor security environment would result from doing this. It is important to understand how to create a minimal privilege security environment for jobs that run in SQL Server Agent.
Lessons
Understanding SQL Server Agent Security
Configuring Credentials
Configuring Proxy Accounts
Lab : Configuring Security for SQL Server Agent
Analyzing Problems in SQL Server Agent
Configuring a Credential
Configuring a Proxy Account
Configuring and testing the Security Context of a Job
After completing this module, you will be able to:
Explain SQL Server Agent security.
Configure credentials.
Configure proxy accounts.
Module 10: Monitoring SQL Server with Alerts and Notifications
One key aspect of managing Microsoft SQL Server in a proactive manner is to make sure you are aware of problems and events that occur in the server, as they happen. SQL Server logs a wealth of information about issues. You can configure it to advise you automatically when these issues occur, by using alerts and notifications. The most common way that SQL Server database administrators receive details of events of interest is by email message. This module covers the configuration of Database Mail, alerts, and notifications for a SQL Server instance, and the configuration of alerts for Microsoft Azure SQL Database.
Lessons
Monitoring SQL Server Errors
Configuring Database Mail
Operators, Alerts, and Notifications
Alerts in Azure SQL Database
Lab : Monitoring SQL Server with Alerts and Notifications
Configuring Database Mail
Configuring Operators
Configuring Alerts and Notifications
Testing Alerts and Notifications
After completing this module, you will be able to:
Monitor SQL Server errors.
Configure database mail.
Configure operators, alerts, and notifications.
Work with alerts in Azure SQL Database.
Module 11: Introduction to Managing SQL Server by using PowerShell
This module looks at how to use Windows PowerShell with Microsoft SQL Server. Businesses are constantly having to increase the efficiency and reliability of maintaining their IT infrastructure; with PowerShell, you can improve this efficiency and reliability by creating scripts to carry out tasks. PowerShell scripts can be tested and applied multiple times to multiple servers, saving your organization both time and money.
Lessons
Getting Started with Windows PowerShell
Configure SQL Server using PowerShell
Administer and Maintain SQL Server with PowerShell
Managing Azure SQL Databases using PowerShell
Lab : Using PowerShell to Manage SQL Server
Getting Started with PowerShell
Using PowerShell to Change SQL Server settings
After completing this module, you will be able to:
Describe the benefits of PowerShell and its fundamental concepts.
Configure SQL Server by using PowerShell.
Administer and maintain SQL Server by using PowerShell.
Manage an Azure SQL Database by using PowerShell.
Module 12: Tracing Access to SQL Server with Extended events
Monitoring performance metrics provides a great way to assess the overall performance of a database solution. However, there are occasions when you need to perform more detailed analysis of the activity occurring within a Microsoft SQL Server instance—to troubleshoot problems and identify ways to optimize workload performance.
SQL Server Extended Events is a flexible, lightweight event-handling system built into the Microsoft SQL Server Database Engine. This module focuses on the architectural concepts, troubleshooting strategies and usage scenarios of Extended Events.
Lessons
Extended Events Core Concepts
Working with Extended Events
Lab : Extended Events
Using the System_Health Extended Events Session
Tracking Page Splits Using Extended Events
After completing this module, you will be able to:
Describe Extended Events core concepts.
Create and query Extended Events sessions.
Module 13: Monitoring SQL Server
The Microsoft SQL Server Database Engine can run for long periods without the need for administrative attention. However, if you regularly monitor the activity that occurs on the database server, you can deal with potential issues before they arise. SQL Server provides a number of tools that you can use to monitor current activity and record details of previous activity. You need to become familiar with what each of the tools does and how to use them. It is easy to become overwhelmed by the volume of output that monitoring tools can provide, so you also need to learn techniques for analyzing their output.
Lessons
Monitoring activity
Capturing and Managing Performance Data
Analyzing Collected Performance Data
SQL Server Utility
Lab : Monitoring SQL Server
After completing this module, you will be able to:
Monitor current activity.
Capture and manage performance data.
Analyze collected performance data.
Configure SQL Server Utility.
Module 14: Troubleshooting SQL Server
Database administrators working with Microsoft SQL Server need to adopt the important role of troubleshooter when issues arise—particularly if users of business-critical applications that rely on SQL Server databases are being prevented from working. It is important to have a solid methodology for resolving issues in general, and to be familiar with the most common issues that can arise when working with SQL Server systems.
Lessons
A Trouble Shooting Methodology for SQL Server
Resolving Service Related Issues
Resolving Connectivity and Log-in issues
Lab : Troubleshooting Common Issues
Troubleshoot and Resolve a SQL Login Issue
Troubleshoot and Resolve a Service Issue
Troubleshoot and Resolve a Windows Login Issue
Troubleshoot and Resolve a Job Execution Issue
Troubleshoot and Resolve a Performance Issue
After completing this module, you will be able to:
Describe a troubleshooting methodology for SQL Server.
Resolve service-related issues.
Resolve login and connectivity issues.
Module 15: Importing and Exporting Data
While a great deal of data residing in a Microsoft SQL Server system is entered directly by users who are running application programs, there is often a need to move data in other locations, to and from SQL Server.
SQL Server provides a set of tools you can use to transfer data in and out. Some of these tools, such as the bcp (Bulk Copy Program) utility and SQL Server Integration Services, are external to the database engine. Other tools, such as the BULK INSERT statement and the OPENROWSET function, are implemented in the database engine. With SQL Server, you can also create data-tier applications that package all the tables, views, and instance objects associated with a user database into a single unit of deployment.
In this module, you will explore these tools and techniques so that you can import and export data to and from SQL Server.
Lessons
Transferring Data to and from SQL Server
Importing and Exporting Table Data
Using bcp and BULK INSERT to Import Data
Deploying and Upgrading Data-Tier Application
Lab : Importing and Exporting Data
Import and Excel Data Using the Import Wizard
Import a Delimited Text File Using bcp
Import a Delimited Text File using BULK INSERT
Create and Test an SSIS Package to Extract Data
Deploy a Data-Tier Application
After completing this module, you will be able to:
Describe tools and techniques for transferring data.
Import and export table data.
Use bcp and BULK INSERT to import data.
Use data-tier applications to import and export database applications.
Next steps:
Please contact us for dates.
5 days online or at one of our locations.
Europe: €2.760 Excluding VAT.
North America: US$2.760 (Course runs on Eastern Standard Time)
Please contact using the button or send a request to:
We will send you a booking form and further information.
20762 Developing SQL Databases
Module 1: Introduction to Database Development
Before beginning to work with Microsoft SQL Server in either a development or an administration role, it is important to understand the scope of the SQL Server platform. In particular, it is useful to understand that SQL Server is not just a database engine—it is a complete platform for managing enterprise data.
SQL Server provides a strong data platform for all sizes of organizations, in addition to a comprehensive set of tools to make development easier, and more robust.
Lessons
Introduction to the SQL Server Platform
SQL Server Database Development Tasks
After completing this module, you will be able to:
Describe the SQL Server platform.
Use SQL Server administration tools.
(Please click here to to see/hide full course outline)
Module 2: Designing and Implementing Tables
In a relational database management system (RDBMS), user and system data is stored in tables. Each table consists of a set of rows that describe entities and a set of columns that hold the attributes of an entity. For example, a Customer table might have columns such as CustomerName and CreditLimit, and a row for each customer. In Microsoft SQL Server data management software tables are contained within schemas that are very similar in concept to folders that contain files in the operating system. Designing tables is one of the most important tasks that a database developer undertakes, because incorrect table design leads to the inability to query the data efficiently.
After an appropriate design has been created, it is important to know how to correctly implement the design.
Lessons
Designing Tables
Data Types
Working with Schemas
Creating and Altering Tables
Lab : Designing and Implementing Tables
Designing Tables
Creating Schemas
Creating Tables
After completing this module, you will be able to:
Design tables using normalization, primary and foreign keys.
Work with identity columns.
Understand built-in and user data types.
Use schemas in your database designs to organize data, and manage object security.
Work with computed columns and temporary tables.
Module 3: Advanced Table Designs
The physical design of a database can have a significant impact on the ability of the database to meet the storage and performance requirements set out by the stakeholders. Designing a physical database implementation includes planning the file groups, how to use partitioning to manage large tables, and using compression to improve storage and performance. Temporal tables are a new feature in SQL Server and offer a straightforward solution to collecting changes to your data.
Lessons
Partitioning Data
Compressing Data
Temporal Tables
Lab : Using Advanced Table Designs
Partitioning Data
Compressing Data
After completing this module, you will be able to:
Describe the considerations for using partitioned tables in a SQL Server database.
Plan for using data compression in a SQL Server database.
Use temporal tables to store and query changes to your data.
Module 4: Ensuring Data Integrity through Constraints
The quality of data in your database largely determines the usefulness and effectiveness of applications that rely on it—the success or failure of an organization or a business venture could depend on it. Ensuring data integrity is a critical step in maintaining high-quality data.
You should enforce data integrity at all levels of an application from first entry or collection through storage. Microsoft SQL Server data management software provides a range of features to simplify the job.
Lessons
Enforcing Data Integrity
Implementing Data Domain Integrity
Implementing Entity and Referential Integrity
Lab : Using Data Integrity Through Constraints
Add Constraints
Test the Constraints
After completing this module, you will be able to:
Describe the options for enforcing data integrity, and the levels at which they should be applied.
Implement domain integrity through options such as check, unique, and default constraints.
Implement referential integrity through primary and foreign key constraints.
Module 5: Introduction to Indexes
An index is a collection of pages associated with a table. Indexes are used to improve the performance of queries or enforce uniqueness. Before learning to implement indexes, it is helpful to understand how they work, how effective different data types are when used within indexes, and how indexes can be constructed from multiple columns. This module discusses table structures that do not have indexes, and the different index types available in Microsoft SQL Server.
Lessons
Core Indexing Concepts
Data Types and Indexes
Heaps, Clustered, and Nonclustered Indexes
Single Column and Composite Indexes
Lab : Implementing Indexes
Creating a Heap
Creating a Clustered Index
Creating a Covered Index
After completing this module, you will be able to:
Explain core indexing concepts.
Evaluate which index to use for different data types.
Describe the difference between single and composite column indexes.
Module 6: Designing Optimized Index Strategies
Indexes play an important role in enabling SQL Server to retrieve data from a database quickly and efficiently. This module discusses advanced index topics including covering indexes, the INCLUDE clause, query hints, padding and fill factor, statistics, using DMOs, the Database Tuning Advisor, and Query Store.
Lessons
Index Strategies
Managing Indexes
Execution Plans
The Database Engine Tuning Advisor
Query Store
Lab : Optimizing Indexes
Using Query Store
Heaps and Clustered Indexes
Creating a Covered Index
After completing this module, you will be able to:
What a covering index is, and when to use one.
The issues involved in managing indexes.
Actual and estimated execution plans.
How to use Database Tuning Advisor to improve the performance of queries.
How to use Query Store to improve query performance.
Module 7: Columnstore Indexes
Introduced in Microsoft SQL Server 2012, columnstore indexes are used in large data warehouse solutions by many organizations. This module highlights the benefits of using these indexes on large datasets; the improvements made to columnstore indexes in SQL Server 2016; and the considerations needed to use columnstore indexes effectively in your solutions.
Lessons
Introduction to Columnstore Indexes
Creating Columnstore Indexes
Working with Columnstore Indexes
Lab : Using Columnstore Indexes
Creating a Columnstore Index
Create a Memory Optimized Columnstore Table
After completing this module, you will be able to:
Describe columnstore indexes and identify suitable scenarios for their use.
Create clustered and nonclustered columnstore indexes.
Describe considerations for using columnstore indexes.
Module 8: Designing and Implementing Views
This module describes the design and implementation of views. A view is a special type of query—one that is stored and can be used in other queries—just like a table. With a view, only the query definition is stored on disk; not the result set. The only exception to this is indexed views, when the result set is also stored on disk, just like a table.
Views simplify the design of a database by providing a layer of abstraction, and hiding the complexity of table joins. Views are also a way of securing your data by giving users permissions to use a view, without giving them permissions to the underlying objects. This means data can be kept private, and can only be viewed by appropriate users.
Lessons
Introduction to Views
Creating and Managing Views
Performance Considerations for Views
Lab : Designing and Implementing Views
Creating Standard Views
Creating an Updateable view
After completing this module, you will be able to:
Understand the role of views in database design.
Create and manage views.
Understand the performance considerations with views.
Module 9: Designing and Implementing Stored Procedures
This module describes the design and implementation of stored procedures.
Lessons
Introduction to Stored Procedures
Working with Stored Procedures
Implementing Parameterized Stored Procedures
Controlling Execution Context
Lab : Designing and Implementing Stored Procedures
Create Stored procedures
Create Parameterized Stored procedures
Changes Stored Procedure Execution Context
After completing this module, you will be able to:
Understand what stored procedures are, and what benefits they have.
Design, create, and alter stored procedures.
Control the execution context of stored procedures.
Implement stored procedures that use parameters.
Module 10: Designing and Implementing User-Defined Functions
Functions are routines that you use to encapsulate frequently performed logic. Rather than having to repeat the function logic in many places, code can call the function. This makes code more maintainable, and easier to debug.
In this module, you will learn to design and implement user-defined functions (UDFs) that enforce business rules or data consistency. You will also learn how to modify and maintain existing functions.
Lessons
Overview of Functions
Designing and Implementing Scalar Functions
Designing and Implementing Table-Valued Functions
Considerations for Implementing Functions
Alternatives to Functions
Lab : Designing and Implementing User-Defined Functions
Format Phone numbers
Modify an Existing Function
After completing this module, you will be able to:
Describe different types of functions.
Design and implement scalar functions.
Design and implement table-valued functions (TVFs).
Describe considerations for implementing functions.
Describe alternatives to functions.
Module 11: Responding to Data Manipulation via Triggers
Data Manipulation Language (DML) triggers are powerful tools that you can use to enforce domain, entity, referential data integrity and business logic. The enforcement of integrity helps you to build reliable applications. In this module, you will learn what DML triggers are, how they enforce data integrity, the different types of trigger that are available to you, and how to define them in your database.
Lessons
Designing DML Triggers
Implementing DML Triggers
Advanced Trigger Concepts
Lab : Responding to Data Manipulation by Using Triggers
Create and Test the Audit Trigger
Improve the Audit Trigger
After completing this module, you will be able to:
Design DML triggers
Implement DML triggers
Explain advanced DML trigger concepts, such as nesting and recursion.
Module 12: Using In-Memory Tables
Microsoft SQL Server 2014 data management software introduced in-memory online transaction processing (OLTP) functionality features to improve the performance of OLTP workloads. SQL Server adds several enhancements, such as the ability to alter a memory-optimized table without recreating it. Memory-optimized tables are primarily stored in memory, which provides the improved performance by reducing hard disk access.
Natively compiled stored procedures further improve performance over traditional interpreted Transact-SQL.
Lessons
Memory-Optimized Tables
Natively Compiled Stored Procedures
Lab : Using In-Memory Database Capabilities
Using Memory-Optimized Tables
Using Natively Compiled Stored procedures
After completing this module, you will be able to:
Use memory-optimized tables to improve performance for latch-bound workloads.
Use natively compiled stored procedures.
Module 13: Implementing Managed Code in SQL Server
As a SQL Server professional, you are likely to be asked to create databases that meet business needs. Most requirements can be met using Transact-SQL. However, occasionally you may need additional capabilities that can only be met by using common language runtime (CLR) code.
As functionality is added to SQL Server with each new release, the necessity to use managed code decreases. However, there are times when you might need to create aggregates, stored procedures, triggers, user-defined functions, or user-defined types. You can use any .NET Framework language to develop these objects.
In this module, you will learn how to use CLR managed code to create user-defined database objects for SQL Server.
Lessons
Introduction to CLR Integration in SQL Server
Implementing and Publishing CLR Assemblies
Lab : Implementing Managed Code in SQL Server
Assessing Proposed CLR Code
Creating a Scalar-Valued CLR Function
Creating a Table Valued CLR Function
After completing this module, you will be able to:
Explain the importance of CLR integration in SQL Server.
Implement and publish CLR assemblies using SQL Server Data Tools (SSDT).
Module 14: Storing and Querying XML Data in SQL Server
XML provides rules for encoding documents in a machine-readable form. It has become a widely adopted standard for representing data structures, rather than sending unstructured documents. Servers that are running Microsoft SQL Server data management software often need to use XML to interchange data with other systems; many SQL Server tools provide an XML-based interface. SQL Server offers extensive handling of XML, both for storage and querying. This module introduces XML, shows how to store XML data within SQL Server, and shows how to query the XML data. The ability to query XML data directly avoids the need to extract data into a relational format before executing Structured Query Language (SQL) queries. To effectively process XML, you need to be able to query XML data in several ways: returning existing relational data as XML, and querying data that is already XML.
Lessons
Introduction to XML and XML Schemas
Storing XML Data and Schemas in SQL Server
Implementing the XML Data Type
Using the Transact-SQL FOR XML Statement
Getting Started with XQuery
Shredding XML
Lab : Storing and Querying XML Data in SQL Server
Determining when to use XML
Testing XML Data Storage in Variables
Using XML Schemas
Using FOR XML Queries
Creating a Stored Procedure to Return XML
After completing this module, you will be able to:
Describe XML and XML schemas.
Store XML data and associated XML schemas in SQL Server.
Implement XML indexes within SQL Server.
Use the Transact-SQL FOR XML statement.
Work with basic XQuery queries.
Module 15: Storing and Querying Spatial Data in SQL Server
This module describes spatial data and how this data can be implemented within SQL Server.
Lessons
Introduction to Spatial Data
Working with SQL Server Spatial Data Types
Using Spatial Data in Applications
Lab : Working with SQL Server Spatial Data
Become Familiar with the Geometry Data Type
Add Spatial Data to an Existing Table
Find Nearby Locations
After completing this module, you will be able to:
Describe how spatial data can be stored in SQL Server
Use basic methods of the GEOMETRY and GEOGRAPHY data types
Query databases containing spatial data
Module 16: Storing and Querying BLOBs and Text Documents in SQL Server
Traditionally, databases have been used to store information in the form of simple values—such as integers, dates, and strings—that contrast with more complex data formats, such as documents, spreadsheets, image files, and video files. As the systems that databases support have become more complex, administrators have found it necessary to integrate this more complex file data with the structured data in database tables. For example, in a product database, it can be helpful to associate a product record with the service manual or instructional videos for that product. SQL Server provides several ways to integrate these files—that are often known as Binary Large Objects (BLOBs)—and enable their content to be indexed and included in search results. In this module, you will learn how to design and optimize a database that includes BLOBs.
Lessons
Considerations for BLOB Data
Working with FILESTREAM
Using Full-Text Search
Lab : Storing and Querying BLOBs and Text Documents in SQL Server
Enabling and Using FILESTREAM Columns
Enabling and Using File Tables
Using a Full-Text Index
After completing this module, you will be able to:
Describe the considerations for designing databases that incorporate BLOB data.
Describe the benefits and design considerations for using FILESTREAM to store BLOB data on a Windows file system.
Describe the benefits of using full-text indexing and Semantic Search, and explain how to use these features to search SQL Server data, including unstructured data
Module 17: SQL Server Concurrency
This module explains how to name, declare, assign values to, and use variables. It also describes how to store data in an array. Concurrency control is a critical feature of multiuser database systems; it allows data to remain consistent when many users are modifying data at the same time. This module covers the implementation of concurrency in Microsoft SQL Server. You will learn about how SQL Server implements concurrency controls, and the different ways you can configure and work with concurrency settings.
Lessons
Concurrency and Transactions
Locking Internals
Lab : SQL Server Concurrency
Implement Snapshot Isolation
Implement Partition Level Locking
After completing this module, you will be able to:
Describe concurrency and transactions in SQL Server.
Describe SQL Server locking.
Module 18: Performance and Monitoring
This module explains how to name, declare, assign values to, and use variables. It also describes how to store data in an array. This module looks at how to measure and monitor the performance of your SQL Server databases. The first two lessons look at SQL Server Extended Events, a flexible, lightweight event-handling system built into the Microsoft SQL Server Database Engine. These lessons focus on the architectural concepts, troubleshooting strategies and usage scenarios.
Lessons
Extended Events
Working with extended Events
Live Query Statistics
Optimize Database File Configuration
Metrics
Lab : Monitoring, Tracing, and Baselining
Collecting and Analyzing Data Using Extended Events
Implementing Baseline Methodology
After completing this module, you will be able to:
Understand Extended Events and how to use them.
Work with Extended Events.
Understand Live Query Statistics.
Optimize the file configuration of your databases.
Use DMVs and Performance Monitor to create baselines and gather performance metrics
Next steps:
Please contact us for dates.
5 days online or at one of our locations.
Europe: €2.760 excluding VAT.
North America: US$2.760 (Course runs on Eastern Standard Time)
Please contact using the button or send a request to:
We will send you a booking form and further information.
20767 Implementing a SQL Data Warehouse
Module 1: Introduction to Data Warehousing
This module describes data warehouse concepts and architecture consideration.
Lessons
Overview of Data Warehousing
Considerations for a Data Warehouse Solution
Lab : Exploring a Data Warehouse Solution
Exploring data sources
Exploring an ETL process
Exploring a data warehouse
After completing this module, you will be able to:
Describe the key elements of a data warehousing solution
Describe the key considerations for a data warehousing solution
(Please click here to to see/hide full course outline)
Module 2: Planning Data Warehouse Infrastructure
This module describes the main hardware considerations for building a data warehouse.
Lessons
Considerations for data warehouse infrastructure.
Planning data warehouse hardware.
Lab : Planning Data Warehouse Infrastructure
Planning data warehouse hardware
After completing this module, you will be able to:
Describe the main hardware considerations for building a data warehouse
Explain how to use reference architectures and data warehouse appliances to create a data warehouse
Module 3: Designing and Implementing a Data Warehouse
This module describes how you go about designing and implementing a schema for a data warehouse.
Lessons
Data warehouse design overview
Designing dimension tables
Designing fact tables
Physical Design for a Data Warehouse
Lab : Implementing a Data Warehouse Schema
Implementing a star schema
Implementing a snowflake schema
Implementing a time dimension table
After completing this module, you will be able to:
Implement a logical design for a data warehouse
Implement a physical design for a data warehouse
Module 4: Columnstore Indexes
This module introduces Columnstore Indexes.
Lessons
Introduction to Columnstore Indexes
Creating Columnstore Indexes
Working with Columnstore Indexes
Lab : Using Columnstore Indexes
Create a Columnstore index on the FactProductInventory table
Create a Columnstore index on the FactInternetSales table
Create a memory optimized Columnstore table
After completing this module, you will be able to:
Create Columnstore indexes
Work with Columnstore Indexes
Module 5: Implementing an Azure SQL Data Warehouse
This module describes Azure SQL Data Warehouses and how to implement them.
Lessons
Advantages of Azure SQL Data Warehouse
Implementing an Azure SQL Data Warehouse
Developing an Azure SQL Data Warehouse
Migrating to an Azure SQ Data Warehouse
Copying data with the Azure data factory
Lab : Implementing an Azure SQL Data Warehouse
Create an Azure SQL data warehouse database
Migrate to an Azure SQL Data warehouse database
Copy data with the Azure data factory
After completing this module, you will be able to:
Describe the advantages of Azure SQL Data Warehouse
Implement an Azure SQL Data Warehouse
Describe the considerations for developing an Azure SQL Data
WarehousePlan for migrating to Azure SQL Data Warehouse
Module 6: Creating an ETL Solution
At the end of this module you will be able to implement data flow in a SSIS package.
Lessons
Introduction to ETL with SSIS
Exploring Source Data
Implementing Data Flow
Lab : Implementing Data Flow in an SSIS Package
Exploring source data
Transferring data by using a data row task
Using transformation components in a data row
After completing this module, you will be able to:
Describe ETL with SSIS
Explore Source Data
Implement a Data Flow
Module 7: Implementing Control Flow in an SSIS Package
This module describes implementing control flow in an SSIS package.
Lessons
Introduction to Control Flow
Creating Dynamic Packages
Using Containers
Managing consistency.
Lab : Implementing Control Flow in an SSIS Package
Using tasks and precedence in a control flow
Using variables and parameters
Using containers
Lab : Using Transactions and Checkpoints
Using transactions
Using checkpoints
After completing this module, you will be able to:
Describe control flow
Create dynamic packages
Use containers
Module 8: Debugging and Troubleshooting SSIS Packages
This module describes how to debug and troubleshoot SSIS packages.
Lessons
Debugging an SSIS Package
Logging SSIS Package Events
Handling Errors in an SSIS Package
Lab : Debugging and Troubleshooting an SSIS Package
Debugging an SSIS package
Logging SSIS package execution
Implementing an event handler
Handling errors in data flow
After completing this module, you will be able to:
Debug an SSIS package
Log SSIS package events
Handle errors in an SSIS package
Module 9: Implementing a Data Extraction Solution
This module describes how to implement an SSIS solution that supports incremental DW loads and changing data.
Lessons
Introduction to Incremental ETL
Extracting Modified Data
Loading modified data
Temporal Tables
Lab : Extracting Modified Data
Using a datetime column to incrementally extract data
Using change data capture
Using the CDC control task
Using change tracking
Lab : Loading a data warehouse
Loading data from CDC output tables
Using a lookup transformation to insert or update dimension data
Implementing a slowly changing dimension
Using the merge statement
After completing this module, you will be able to:
Describe incremental ETL
Extract modified data
Load modified data
Describe temporal tables
Module 10: Enforcing Data Quality
This module describes how to implement data cleansing by using Microsoft Data Quality services.
Lessons
Introduction to Data Quality
Using Data Quality Services to Cleanse Data
Using Data Quality Services to Match Data
Lab : Cleansing Data
Creating a DQS knowledge base
Using a DQS project to cleanse data
Using DQS in an SSIS package
Lab : De-duplicating Data
Creating a matching policy
Using a DS project to match data
After completing this module, you will be able to:
Describe data quality services
Cleanse data using data quality services
Match data using data quality services
De-duplicate data using data quality services
Module 11: Using Master Data Services
This module describes how to implement master data services to enforce data integrity at source.
Lessons
Introduction to Master Data Services
Implementing a Master Data Services Model
Hierarchies and collections
Creating a Master Data Hub
Lab : Implementing Master Data Services
Creating a master data services model
Using the master data services add-in for Excel
Enforcing business rules
Loading data into a model
Consuming master data services data
After completing this module, you will be able to:
Describe the key concepts of master data services
Implement a master data service model
Manage master data
Create a master data hub
Module 12: Extending SQL Server Integration Services (SSIS)
This module describes how to extend SSIS with custom scripts and components.
Lessons
Using scripting in SSIS
Using custom components in SSIS
Lab : Using scripts
Using a script task
After completing this module, you will be able to:
Use custom components in SSIS
Use scripting in SSIS
Module 13: Deploying and Configuring SSIS Packages
This module describes how to deploy and configure SSIS packages.
Lessons
Overview of SSIS Deployment
Deploying SSIS Projects
Planning SSIS Package Execution
Lab : Deploying and Configuring SSIS Packages
Creating an SSIS catalog
Deploying an SSIS project
Creating environments for an SSIS solution
Running an SSIS package in SQL server management studio
Scheduling SSIS packages with SQL server agent
After completing this module, you will be able to:
Describe an SSIS deployment
Deploy an SSIS package
Plan SSIS package execution
Module 14: Consuming Data in a Data Warehouse
This module describes how to debug and troubleshoot SSIS packages.
Lessons
Introduction to Business Intelligence
An Introduction to Data Analysis
Introduction to reporting
Analyzing Data with Azure SQL Data Warehouse
Lab : Using a data warehouse
Exploring a reporting services report
Exploring a PowerPivot workbook
Exploring a power view report
After completing this module, you will be able to:
Describe at a high level business intelligence
Show an understanding of reporting
Show an understanding of data analysis
Next steps:
Please contact us for dates.
5 days online or at one of our locations.
Europe: €2.760 excluding VAT.
North America: US$2.760 (Course runs on Eastern Standard Time)
Please contact using the button or send a request to:
We will send you a booking form and further information.
10987 Performance Tuning and Optimizing SQL Databases
Module 1: SQL Server Architecture, Scheduling, and Waits
This module covers high level architectural overview of SQL Server and its various components. It dives deep into SQL Server execution model, waits and queues.
Lessons
SQL Server Components and SQL OS
Windows Scheduling vs SQL Scheduling
Waits and Queues
Lab : SQL Server Architecture, Scheduling, and Waits
After completing this module, you will be able to:
Describe the SQL Server components and SQL OS
Describe the differences between Windows Scheduling and SQL scheduling
Describe waits and queues
(Please click here to to see/hide full course outline)
Module 2: SQL Server I/O
This module covers core I/O concepts, Storage Area Networks and performance testing. It focuses on SQL Server I/O operations and how to test storage performance.
Lessons
Core Concepts
Storage Solutions
I/O Setup and Testing
Lab : Testing Storage Performance
After completing this module, you will be able to:
Describe the core concepts of SQL I/O
Describe storage solutions
Setup and test I/O
Module 3: Database Structures
This module covers Database Structures, Data File and TempDB Internals. It focuses on architectural concepts and best practices related to data files for user databases and TempDB.
Lessons
Database Structure Internals
Data File Internals
TempDB Internals
Lab : Database Structures
After completing this module, you will be able to:
Describe the internal setup of database structures
Describe the internal setup of data files.
Describe the internal setup of TempDB
Module 4: SQL Server Memory
This module covers Windows and SQL Server Memory internals. It focuses on architectural concepts and best practices related to SQL Server Memory Configuration.
Lessons
Windows Memory
SQL Server Memory
In-Memory OLTP
Lab : SQL Server Memory
After completing this module, you will be able to:
Describe the components of Windows memory
Describe the components of SQL Server memory
Describe In-Memory OLTP
Module 5: SQL Server Concurrency
This module covers Transactions and Locking Internals. It focuses on architectural concepts and best practices related to Concurrency, Transactions, Isolation Levels and Locking.
Lessons
Concurrency and Transactions
Locking Internals
Lab : SQL Server Concurrency
After completing this module, you will be able to:
Explain concurrency and transactions
Describe locking
Module 6: Statistics and Index Internals
This module covers Statistics and Index Internals. It focuses on architectural concepts and best practices related to Statistics and Indexes.
Lessons
Statistics Internals and Cardinality Estimation
Index Internals
Columnstore Indexes
Lab : Statistics and index Internals
After completing this module, you will be able to:
Describe statistics internals
Explain cardinality estimation
Describe why you would use Columnstore indexes and be able to implement one
Module 7: Query Execution and Query Plan Analysis
This module covers Query Execution and Query Plan Analysis. It focuses on architectural concepts of the Optimizer and how to identify and fix query plan issues.
Lessons
Query execution and optimizer internals
Query execution plans
Analyzing query execution plans
Adaptive query processing
Lab : Query execution and query plan analysis
After completing this module, you will be able to:
Describe query execution and optimizer
Analyze query plans and resolve common issues
Module 8: Plan Caching and Recompilation
This module covers Plan Caching and Recompilation. It focuses on architectural concepts, troubleshooting scenarios and best practices related to Plan Cache.
Lessons
Plan cache internals
Troubleshooting plan cache issues
Automatic tuning
Query store
Lab : Plan caching and recompilation
After completing this module, you will be able to:
Describe plan cache
Troubleshoot plan cache issues
Describe query store and why you would use it
Module 9: Extended Events
This module covers Extended Events. It focuses on architectural concepts, troubleshooting strategy and usage scenarios for Extended Events.
Lessons
Extended events core concepts
Working with extended events
Lab : Extended events
After completing this module, you will be able to:
Describe the core concepts of extended events
Implement extended events
Module 10: Monitoring, Tracing, and Baselining
This module covers tools and techniques to monitor, trace and baseline SQL Server performance data. It focuses on data collection strategy and techniques to analyze collected data.
Lessons
Monitoring and tracing
Baselining and benchmarking
Lab : Monitoring, Tracing and Baselining
After completing this module, you will be able to:
Describe various options for monitoring and tracing
Describe various options for benchmarking and baselining
Next steps:
5 days online or at one of our locations.
Europe: €2760 excluding VAT.
North America: US$2760 (Course runs on Eastern Standard Time)
Please contact using the button or send a request to:
We will send you a booking form and further information.
10985 Introduction to SQL Databases
Module 1: Introduction to databases
This module introduces key database concepts in the context of SQL Server 2016.
Lessons
Introduction to relational databases
Other types of database
Data analysis
Database languages
Lab: Querying SQL Server
After completing this module, you will be able to:
Describe what a database is
Understand basic relational aspects
Describe database languages used in SQL Server
Describe data analytics
Describe database languages used in SQL Server
Module 2: Data Modelling
This module describes data modelling techniques.
Lessons
Data modelling
ANSI/SPARC database model
Entity relationship modelling
Lab: Entity relationship modelling
After completing this module, you will be able to:
Understand the common data modelling techniques
Describe the ANSI/SPARC database model
Describe entity relationship modelling
Module 3: Normalization
This module describes normalization and denormalization techniques.
Lessons
Why normalize data?
Normalization terms
Levels of normalization
Denormalization
Lab: Normalizing raw data
After completing this module, you will be able to:
Describe normalization benefits and notation
Describe important normalization terms
Describe the normalization levels
Describe the role of denormalization
Module 4: Relationships
This module describes relationship types and effects in database design.
Lessons
Schema mapping
Referential integrity
Lab: Designing relationships
After completing this module, you will be able to:
Describe relationship types
Describe the use, types, and effects of referential integrity
Module 5: Performance
This module introduces the effects of database design on performance.
Lessons
Indexing
Query performance
Concurrency
Lab: Query performance
After completing this module, you will be able to:
Discuss the performance effects of indexing
Describe the performance effects of join and search types
Describe the performance effects of concurrency
Module 6: Database Objects
This module introduces commonly used database objects.
Lessons
Tables
Views
Stored procedures
Other database objects
Lab: Using SQL Server in a hybrid cloud
After completing this module, you will be able to:
Describe the use of tables in SQL Server
Describe the use of views in SQL Server
Describe the use of stored procedures in SQL Server
Describe other database objects commonly used in SQL Server
Next steps:
3 days online or at one of our locations.
Europe: €1.730 excluding VAT.
North America: US$1.730 (Course runs on Eastern Standard Time)
Please contact using the button or send a request to:
We will send you a booking form and further information.
20761 Querying Microsoft SQL Server
Module 1: Introduction to Microsoft SQL Server
This module introduces SQL Server, the versions of SQL Server, including cloud versions, and how to connect to SQL Server using SQL Server Management Studio.
Lessons
The Basic Architecture of SQL Server
SQL Server Editions and Versions
Getting Started with SQL Server Management Studio
Lab : Working with SQL Server Tools
Working with SQL Server Management Studio
Creating and Organizing T-SQL Scripts
Using Books Online
After completing this module, you will be able to:
Describe relational databases and Transact-SQL queries.
Describe the on-premise and cloud-based editions and versions of SQL Server.
Describe how to use SQL Server Management Studio (SSMS) to connect to an instance of SQL Server, explore the databases contained in the instance, and work with script files that contain T-SQL queries.
(Please click here to to see/hide full course outline)
Module 2: Introduction to T-SQL Querying
This module describes the elements of T-SQL and their role in writing queries. Describe the use of sets in SQL Server. Describe the use of predicate logic in SQL Server. Describe the logical order of operations in SELECT statements.
Lessons
Introducing T-SQL
Understanding Sets
Understanding Predicate Logic
Understanding the Logical Order of Operations in SELECT statements
Lab : Introduction to T-SQL Querying
Executing Basic SELECT Statements
Executing Queries that Filter Data using Predicates
Executing Queries That Sort Data Using ORDER BY
After completing this module, you will be able to:
Describe the role of T-SQL in writing SELECT statements.
Describe the elements of the T-SQL language and which elements will be useful in writing queries.
Describe the concepts of the set theory, one of the mathematical underpinnings of relational databases, and to help you apply it to how you think about querying SQL Server
Describe predicate logic and examine its application to querying SQL Server.
Explain the elements of a SELECT statement, delineate the order in which the elements are evaluated, and then apply this understanding to a practical approach to writing queries.
Module 3: Writing SELECT Queries
This module introduces the fundamentals of the SELECT statement, focusing on queries against a single table.
Lessons
Writing Simple SELECT Statements
Eliminating Duplicates with DISTINCT
Using Column and Table Aliases
Writing Simple CASE Expressions
Lab : Writing Basic SELECT Statements
Writing Simple SELECT Statements
Eliminating Duplicates Using DISTINCT
Using Column and Table Aliases
Using a Simple CASE Expression
After completing this module, you will be able to:
Describe the structure and format of the SELECT statement, as well as enhancements that will add functionality and readability to your queries
Describe how to eliminate duplicates using the DISTINCT clause
Describe the use of column and table aliases
Understand and use CASE expressions