This five-day instructor-led course provides students with the knowledge and skills to develop a Microsoft SQL Server 2016 database. The course focuses on teaching individuals how to use SQL Server 2016 product features and tools related to developing a database.
The primary audience for this course is IT Professionals who want to become skilled on SQL Server 2016 product features and technologies for implementing a database. The secondary audiences for this course are individuals who are developers from other product platforms looking to become skilled in the implementation of a SQL Server 2016 database.
- Basic knowledge of the Microsoft Windows operating system and its core functionality.
- Working knowledge of Transact-SQL.
- Working knowledge of relational databases.
- Design and Implement Tables.
- Describe advanced table designs
- Ensure Data Integrity through Constraints.
- Describe indexes, including Optimized and Columnstore indexes
- Design and Implement Views.
- Design and Implement Stored Procedures.
- Design and Implement User Defined Functions.
- Respond to data manipulation using triggers.
- Design and Implement In-Memory Tables.
- Implement Managed Code in SQL Server.
- Store and Query XML Data.
- Work with Spatial Data.
- Store and Query Blobs and Text Documents.
- Introduction to Database Development
- Designing and Implementing Tables
- Advanced Table Designs
- Ensuring Data Integrity through Constraints
- Introduction to Indexes
- Designing Optimized Index Strategies
- Columnstore Indexes
- Designing and Implementing Views
- Designing and Implementing Stored Procedures
- Designing and Implementing User-Defined Functions
- Responding to Data Manipulation via Triggers
- Using In-Memory Tables
- Implementing Managed Code in SQL Server
- Storing and Querying XML Data in SQL Server
- Working with SQL Server Spatial Data
- Storing and Querying Blobs and Text Documents in SQL Server
- SQL Server Concurrency
- Performance and Monitoring
Module 1: Introduction to Database Development This module is used to introduce the entire SQL Server platform and its major tools. It will cover editions, versions, basics of network listeners, and concepts of services and service accounts. Lessons
- Introduction to the SQL Server Platform
- SQL Server Database Development Tasks
Lab : SQL Server Database Development Tasks Module 2: Designing and Implementing Tables This modules describes the design and implementation of tables. (Note: partitioned tables are not covered). Lessons
- Designing Tables
- Data Types
- Working with Schemas
- Creating and Altering Tables
Lab : Designing and Implementing Tables Module 3: Advanced Table Designs This module describes more advanced table designs. Lessons
- Partitioning data
- Compressing Data
- Temporal Tables
Lab : Using Advanced Table Designs Module 4: Ensuring Data Integrity through Constraints This module describes the design and implementation of constraints. Lessons
- Enforcing data Integrity
- Implementing Domain Integrity
- Implementing Entity and Referential Integrity
Lab : Ensuring Data Integrity through Constraints Module 5: Introduction to Indexes This module describes the concept of an index and discusses selectivity, density and statistics. It covers appropriate data type choices and choices around composite index structures. Lessons
- Core Indexing Concepts
- Data Types and Indexes
- Single Column and Composite Indexes
Lab : Implementing Indexes Module 6: Designing Optimized Index Strategies Indexes play an important role in enabling SQL Server to retrieve data from a database quickly and efficiently. This module discusses advanced index topics including covering indexes, the INCLUDE clause, query hints, padding and fill factor, statistics, using DMOs, the Database Tuning Advisor, and Query Store. Lessons
- Index Strategies
- Managing Indexes
- Execution Plans
- The Database Engine Tuning Advisor
- Query Store
Lab : Optimizing Indexes
- Using Query Store
- Heaps and Clustered Indexes
- Creating a Covered Index
Module 7: Columnstore Indexes This module introduces Columnstore indexes. Lessons
- Introduction to Columnstore indexes
- Creating Columnstore indexes
- Working Columnstore indexes
Lab : Using Columnstore indexes Module 8: Designing and Implementing Views This module describes the design and implementation of views. Lessons
- Introduction to views
- Creating and managing views
- Performance considerations for views
Lab : Designing and Implementing Views Module 9: Designing and Implementing Stored Procedures This module describes the design and implementation of stored procedures. Lessons
- Introduction to Stored Procedures
- Working with Stored Procedures
- Implementing Parameterized Stored Procedures
- Controlling Execution Context
Lab : Designing and Implementing Stored Procedures
- Create Stored procedures
- Create Parameterized Stored procedures
- Changes Stored Procedure Execution Context
Module 10: Designing and Implementing User-Defined Functions This module describes the design and implementation of functions, both scalar and table-valued. (Also discusses where they can lead to performance issues). Lessons
- Overview of Functions
- Designing and Implementing Scalar Functions
- Designing and Implementing Table-Valued Functions
- Implementation Considerations for Functions
- Alternatives to Functions
Lab : Designing and Implementing User-defined Functions Module 11: Responding to Data Manipulation via Triggers This module describes the design and implementation of triggers. Lessons
- Designing DML Triggers
- Implementing DML Triggers
- Advanced Trigger Concepts
Lab : Responding to Data Manipulation via Triggers Module 12: Using In-Memory Tables This module covers the creation of in-memory tables and native stored procedures. Furthermore, advantages of in-memory tables are discussed, for example the removal of transaction blocking. Lessons
- In-Memory tables
- Native Stored Procedures
Lab : In Memory OLTP Module 13: Implementing Managed Code in SQL Server This module describes the implementation of and target use-cases for SQL CLR integration. Lessons
- Introduction to SQL CLR Integration
- Importing and Configuring Assemblies
- Implementing SQL CLR Integration
Lab : Implementing Managed Code in SQL Server Module 14: Storing and Querying XML Data in SQL Server This module covers the XML data type, schema collections, typed and un-typed columns and appropriate use cases for XML in SQL Server. Lessons
- Introduction to XML and XML Schemas
- Storing XML Data and Schemas in SQL Server
- Implementing the XML Data Type
- Using the T-SQL FOR XML Statement
- Getting Started with xQuery
Lab : Storing and Querying XML Data in SQL Server Module 15: Working with SQL Server Spatial Data 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 Module 16: Storing and Querying Blobs and Text Documents in SQL Server This module covers full text indexes and queries. Lessons
- Considerations for BLOB Data
- Working with FileStream
- Using Full-Text Search
Lab : Storing and Querying Blobs and Text Documents in SQL Server Module 17: SQL Server Concurrency This module explains how to name, declare, assign values to, and use variables. It also describes how to store data in an array. Concurrency control is a critical feature of multiuser database systems; it allows data to remain consistent when many users are modifying data at the same time. This module covers the implementation of concurrency in Microsoft SQL Server. You will learn about how SQL Server implements concurrency controls, and the different ways you can configure and work with concurrency settings. Lessons
- Concurrency and Transactions
- Locking Internals
Lab : SQL Server Concurrency
- Implement Snapshot Isolation
- Implement Partition Level Locking
Module 18: Performance and Monitoring This module explains how to name, declare, assign values to, and use variables. It also describes how to store data in an array. This module looks at how to measure and monitor the performance of your SQL Server databases. The first two lessons look at SQL Server Extended Events, a flexible, lightweight event-handling system built into the Microsoft SQL Server Database Engine. These lessons focus on the architectural concepts, troubleshooting strategies and usage scenarios. Lessons
- Extended Events
- Working with extended Events
- Live Query Statistics
- Optimize Database File Configuration
Lab : Monitoring, Tracing, and Baselining
- Collecting and Analyzing Data Using Extended Events
- Implementing Baseline Methodology