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
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
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
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
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
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.
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
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
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
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
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
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
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
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
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
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
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
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.
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
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
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
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
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
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
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
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.
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
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
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
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
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.
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.
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.
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.
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
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
Please contact us for dates.
4 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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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).
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.
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
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
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.
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
Please contact us for dates.
4 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.
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
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
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
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
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
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
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
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
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
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
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
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
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
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
Please contact us for dates.
4 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.
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
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
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
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
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
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
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
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
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
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
4 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.
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
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.
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.
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.
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
This module describes how to write queries that combine data from multiple sources in Microsoft SQL Server.
Lessons
Understanding Joins
Querying with Inner Joins
Querying with Outer Joins
Querying with Cross Joins and Self Joins
Lab : Querying Multiple Tables
Writing Queries that use Inner Joins
Writing Queries that use Multiple-Table Inner Joins
Writing Queries that use Self-Joins
Writing Queries that use Outer Joins
Writing Queries that use Cross Joins
After completing this module, you will be able to:
Explain the fundamentals of joins in SQL Server
Write inner join queries
Write queries that use outer joins
Use additional join types
This module describes how to implement sorting and filtering.
Lessons
Sorting Data
Filtering Data with Predicates
Filtering Data with TOP and OFFSET-FETCH
Working with Unknown Values
Lab : Sorting and Filtering Data
Writing Queries that Filter Data using a WHERE Clause
Writing Queries that Sort Data Using an ORDER BY Clause
Writing Queries that Filter Data Using the TOP Option
Write Queries that filter data using the OFFSET-FETCH clause
After completing this module, you will be able to:
Explain how to add an ORDER BY clause to your queries to control the order of rows displayed in your query's output
Explain how to construct WHERE clauses to filter out rows that do not match the predicate.
Explain how to limit ranges of rows in the SELECT clause using a TOP option.
Explain how to limit ranges of rows using the OFFSET-FETCH option of an ORDER BY clause.
Explain how three-valued logic accounts for unknown and missing values, how SQL Server uses NULL to mark missing values, and how to test for NULL in your queries.
This module introduces the data types SQL Server uses to store data.
Lessons
Introducing SQL Server Data Types
Working with Character Data
Working with Date and Time Data
Lab : Working with SQL Server Data Types
Writing Queries that Return Date and Time Data
Writing Queries that use Date and Time Functions
Writing Queries That Return Character Data
Writing Queries That Return Character Functions
After completing this module, you will be able to:
Explore many of the data types SQL Server uses to store data and how data types are converted between types
Explain the SQL Server character-based data types, how character comparisons work, and some common functions you may find useful in your queries
Describe data types that are used to store temporal data, how to enter dates and times so they will be properly parsed by SQL Server, and how to manipulate dates and times with built-in functions.
This module describes how to create DML queries, and why you would want to.
Lessons
Adding Data to Tables
Modifying and Removing Data
Generating automatic column values
Lab : Using DML to Modify Data
Inserting Records with DML
Updating and Deleting Records Using DML
After completing this module, you will be able to:
Use INSERT and SELECT INTO statements
Use UPDATE, MERGE, DELETE, and TRUNCATE.
This module introduces some of the many built in functions in SQL Server.
Lessons
Writing Queries with Built-In Functions
Using Conversion Functions
Using Logical Functions
Using Functions to Work with NULL
Lab : Using Built-In Functions
Writing Queries That Use Conversion Functions
Writing Queries that use Logical Functions
Writing Queries that Test for Nullability
After completing this module, you will be able to:
Describe the types of functions provided by SQL Server, and then focus on working with scalar functions
Explain how to explicitly convert data between types using several SQL Server functions
Describe how to use logical functions that evaluate an expression and return a scalar result.
Describe additional functions for working with NULL
This module describes how to use aggregate functions.
Lessons
Using Aggregate Functions
Using the GROUP BY Clause
Filtering Groups with HAVING
Lab : Grouping and Aggregating Data
Writing Queries That Use the GROUP BY Clause
Writing Queries that Use Aggregate Functions
Writing Queries that Use Distinct Aggregate Functions
Writing Queries that Filter Groups with the HAVING Clause
After completing this module, you will be able to:
Describe the built-in aggregate function in SQL Server and write queries using it.
Write queries that separate rows using the GROUP BY clause.
Write queries that use the HAVING clause to filter groups.
This module describes several types of subquery and how and when to use them.
Lessons
Writing Self-Contained Subqueries
Writing Correlated Subqueries
Using the EXISTS Predicate with Subqueries
Lab : Using Subqueries
Writing Queries That Use Self-Contained Subqueries
Writing Queries That Use Scalar and Multi-Result Subqueries
Writing Queries That Use Correlated Subqueries and an EXISTS Clause
After completing this module, you will be able to:
Describe where subqueries may be used in a SELECT statement.
Write queries that use correlated subqueries in a SELECT statement
Write queries that use EXISTS predicates in a WHERE clause to test for the existence of qualifying rows
Use the EXISTS predicate to efficiently check for the existence of rows in a subquery.
Previously in this course, you learned about using subqueries as an expression that returned results to an outer calling query. Like subqueries, table expressions are query expressions, but table expressions extend this idea by allowing you to name them and to work with their results as you would work with data in any valid relational table. Microsoft SQL Server supports four types of table expressions: derived tables, common table expression (CTEs), views, and inline table-valued functions (TVFs). In this module, you will learn to work with these forms of table expressions and learn how to use them to help create a modular approach to writing queries.
Lessons
Using Views
Using Inline Table-Valued Functions
Using Derived Tables
Using Common Table Expressions
Lab : Using Table Expressions
Writing Queries That Use Views
Writing Queries That Use Derived Tables
Writing Queries That Use Common Table Expressions (CTEs)
Writing Queries That Use Inline Table-Valued Expressions (TVFs)
After completing this module, you will be able to:
Write queries that return results from views.
Use the CREATE FUNCTION statement to create simple inline TVFs.
Write queries that create and retrieve results from derived tables.
Write queries that create CTEs and return results from the table expression.
This module introduces how to use the set operators UNION, INTERSECT, and EXCEPT to compare rows between two input sets.
Lessons
Writing Queries with the UNION operator
Using EXCEPT and INTERSECT
Using APPLY
Lab : Using Set Operators
Writing Queries That Use UNION Set Operators and UNION ALL
Writing Queries That Use CROSS APPLY and OUTER APPLY Operators
Writing Queries That Use the EXCEPT and INTERSECT Operators
After completing this module, students will be able to:
Write queries that use UNION to combine input sets.
Write queries that use UNION ALL to combine input sets
Write queries that use the EXCEPT operator to return only rows in one set but not another.
Write queries that use the INTERSECT operator to return only rows that are present in both sets
Write queries using the CROSS APPLY operator.
Write queries using the OUTER APPLY operator
This module describes the benefits to using window functions. Restrict window functions to rows defined in an OVER clause, including partitions and frames. Write queries that use window functions to operate on a window of rows and return ranking, aggregation, and offset comparison results.
Lessons
Creating Windows with OVER
Exploring Window Functions
Lab : Using Windows Ranking, Offset, and Aggregate Functions
Writing Queries that use Ranking Functions
Writing Queries that use Offset Functions
Writing Queries that use Window Aggregate Functions
After completing this module, students will be able to:
Describe the T-SQL components used to define windows, and the relationships between them.
Write queries that use the OVER clause, with partitioning, ordering, and framing to define windows
Write queries that use window aggregate functions.
Write queries that use window ranking functions.
Write queries that use window offset functions
This module describes write queries that pivot and unpivot result sets. Write queries that specify multiple groupings with grouping sets
Lessons
Writing Queries with PIVOT and UNPIVOT
Working with Grouping Sets
Lab : Pivoting and Grouping Sets
Writing Queries that use the PIVOT Operator
Writing Queries that use the UNPIVOT Operator
Writing Queries that use the GROUPING SETS CUBE and ROLLUP Subclauses
After completing this module, students will be able to:
Describe how pivoting data can be used in T-SQL queries.
Write queries that pivot data from rows to columns using the PIVOT operator.
Write queries that unpivot data from columns back to rows using the UNPIVOT operator.
Write queries using the GROUPING SETS subclause.
Write queries that use ROLLUP AND CUBE.
Write queries that use the GROUPING_ID function.
This module describes how to return results by executing stored procedures. Pass parameters to procedures. Create simple stored procedures that encapsulate a SELECT statement. Construct and execute dynamic SQL with EXEC and sp_executesql.
Lessons
Querying Data with Stored Procedures
Passing Parameters to Stored procedures
Creating Simple Stored Procedures
Working with Dynamic SQL
Lab : Executing Stored Procedures
Using the EXECUTE statement to Invoke Stored Procedures
Passing Parameters to Stored procedures
Executing System Stored Procedures
After completing this module, students will be able to:
Describe stored procedures and their use.
Write T-SQL statements that execute stored procedures to return data.
Write EXECUTE statements that pass input parameters to stored procedures.
Write T-SQL batches that prepare output parameters and execute stored procedures.
Use the CREATE PROCEDURE statement to write a stored procedure.
Create a stored procedure that accepts input parameters.
Describe how T-SQL can be dynamically constructed.
Write queries that use dynamic SQL.
This module describes how to enhance your T-SQL code with programming elements.
Lessons
T-SQL Programming Elements
Controlling Program Flow
Lab : Programming with T-SQL
Declaring Variables and Delimiting Batches
Using Control-Of-Flow Elements
Using Variables in a Dynamic SQL Statement
Using Synonyms
After completing this module, students will be able to:
Describe how Microsoft SQL Server treats collections of statements as batches.
Create and submit batches of T-SQL code for execution by SQL Server.
Describe how SQL Server stores temporary objects as variables.
Write code that declares and assigns variables.
Create and invoke synonyms
Describe the control-of-flow elements in T-SQL.
Write T-SQL code using IF...ELSE blocks.
Write T-SQL code that uses WHILE.
This module introduces error handling for T-SQL.
Lessons
Implementing T-SQL error handling
Implementing structured exception handling
Lab : Implementing Error Handling
Redirecting errors with TRY/CATCH
Using THROW to pass an error message back to a client
After completing this module, students will be able to:
Implement T-SQL error handling.
Implement structured exception handling.
This module describes how to implement transactions.
Lessons
Transactions and the database engines
Controlling transactions
Lab : Implementing Transactions
Controlling transactions with BEGIN, COMMIT, and ROLLBACK
Adding error handling to a CATCH block
After completing this module, students will be able to:
Describe transactions and the differences between batches and transactions.
Describe batches and how they are handled by SQL Server.
Create and manage transactions with transaction control language (TCL) statements.
Use SET XACT_ABORT to define SQL Servers handling of transactions outside TRY/CATCH blocks.
Please contact us for dates.
4 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.
This module will introduce the participants to the concepts and terminology used in the course.
Lessons
Concepts and Terminology
Table of Availability
High Availability
Causes of Downtime
Planned downtime
Unplanned downtime
Disaster Recovery
Recovery Time Objective (RTO)
Recovery Point Objective (RPO)
Recovery Level Objective (RLO)
Storage Area Networks (SAN)
Edition Changes from SQL 2012
SQL Server 2014 Changes
SQL Server 2016 Changes
Legacy Solutions prior to Always On
Failover Cluster Instances
Log Shipping
A Typical Log Shipping Configuration
Monitor Server
Replication
Database Mirroring
Database Mirroring Terminology
Principle
Mirror
Witness (red box in image above)
Database Snapshots
Limitations of legacy solutions:
What do we mean by Always On?
Table of Always On Comparison
After completing this module, students will be able to:
Terminology
SQL 2014 Changes
SQL2016 Changes
Understand the role of the SANs
Failover clustering is covered in this module and is a critical feature of AlwaysOn High Availability.
Lessons
Understanding Failover Clustering in Server 2016
Statefull High Availability Solution
Supported in both Standard and Datacenter
Servers should run similar hardware
Should run same edition
Hyper-V best with datacenter
Certified for Windows server logo
Shared Storage
Quorums
Node Majority
Node and Disk Majority configuration:
Node and File Share Majority
No Majority
Configuration
Cluster Networks Best Practices
Connection to nodes to shared storage
Private network for internal cluster
Public network for client connections
Cluster Aware Updating
Virtual Machine Failover Clustering
Preferred Owners
Failover Failback
Resources
Dependences
Heartbeat
Lab : Set up iSCSI Server
Lab : Install the iSCSI VMS
Lab : Add Servers to Server Manager for Ease of Management
Lab : Add the Windows Cluster Feature to SQL1, SQL2 And SQL3
Lab : Create the iSCSI Initators to add the shared storage
Lab : Create the Windows Cluster
Lab : Add a Clustered Service
Lab : Test The Failover Of The Windows Service
Lab : Delete Role
Lab : Examine the Quorum Settings
After completing this module, students will be able to:
ISCSI Setup
Work with Roles
Understand Quorums
Understand Windows Failover
Understand Cluster Service
Understand Preferred Owners
Understand Node Majority
In this module we move from the generic failover clustering to the specifics involving SQL.
Lessons
Failover Cluster Instance
As a FCI Appears to a Client
Lab : Create a Configuration File by Running the Advanced Cluster Preparation Wizard
Lab : Complete the SQL Cluster Installation on SQL1
Lab : Install the Cluster on SQL2 And SQL3
Lab : Test the SQL Cluster
After completing this module, students will be able to:
Cluster Testing
Understand Configuration Files
Install Clusters
Within the failover clusters of SQL are the concept of Availability groups and their enhancements with the release of SQL 2016 which is the focus of this module.
Lessons
Availability Groups and Replicas
Primary Replica
Secondary Replicas
Availability Group Listener
Availability Mode
Synchronous Commit Mode
Asynchronous Commit Mode
Failover Modes
Automatic Failover Without Data Loss
Automatic Failover Requirements:
Manual
Manual Failover Requirements
Common Topologies
Lab : Create a SQL Instance for The Availability Group
Lab : Enable the SQL Server AlwaysOn Availability Group Feature
Lab : Set Up for Availability Groups
Lab : The Availability Group Wizard
Lab : SSMS and Availability Groups
After completing this module, students will be able to:
Enable AlwaysOn
Understand and work with availability Groups
Managing AlwaysOn High Availability groups wit SQL 2016 is accomplished with the Dashboard. This module will demonstrate the skills necessary for the accomplishment of the management tasks.
Lessons
The Dashboard
How to view logs
Using replication with Logins
Using partially contained databases
Lab : The Dashboard
Lab : Replicating Logins and Jobs
After completing this module, students will be able to:
Understand the Dashboard
Perform Logon and Job replication
Within Availability groups you may have Active secondary SQL which is covered and demonstrated in this module.
Lessons
Reporting with Secondary Replicas
Configuring a Readable secondary
Read-Only Routing
Load Balancing
Lab: Configure a Read-Only Secondary
Database Backups with Secondary
Steps of Backup using Secondary
Backup Preference Options
Lab : Configure a Read-Only secondary
Lab : Database Backup Using Secondary Replica
After completing this module, students will be able to:
Perform backups with Secondary Replicas
Configure a Read-Only Replica
In this module you explore maintenance procedures for AlwaysOn High Availability Groups.
Lessons
DBCC Checks
Database adding and removing
Lab : Add a Database
Lab : Remove a Database
Lab : Add a Replica
Lab : Remove a Replica
After completing this module, students will be able to:
Add and Remove Databases
Add and Remove Replicas
In this the final module you will learn how to monitor the clusters and Availability groups and various common troubleshooting procedures.
Lessons
The Dashboard in depth
Events
Policy Based Management for Availability Groups
Lab : Dashboard Wizards
Lab : Create an Extended Event session
Lab : Using T-SQL
Lab : Policy Based Management for Availability Groups
Lab : Observe a policy in action
Lab : Create three conditions to be used in the RTO and RPO policies
Lab : Create two policies RTO and RPO
Lab : Test the policies
Lab : Change endpoint owner
Migrating Settings by using Windows Easy Transfer
Configuring a Reference Image of Windows 7
Configuring a Reference Image
After completing this module, students will be able to:
Change Owners
Work with Policies
Work with Extended Events
Please contact us for dates.
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.
"I have never had a better technical instructor and I have taken a LOT of technical courses"—JB, US
"This was the best training I have ever attended"—WG, Germany
"I had the opportunity to attend the perfect training. Organized with excellence and led magnificantly!"—LD, Bulgaria
"It was a great and perfect training for me. The instructor was one of the best ones I had for technical training. The training was well-organized and covered a lot. Thank you."—AK, US