Module 1: Introduction to SQL Server 2012 and its Toolset
This module stresses on the fact that before beginning to work with SQL Server in either a development or an administration role, it is important to understand the overall SQL Server platform. In particular, it is useful to understand that SQL Server is not just a database engine but it is a complete platform for managing enterprise data.
Lessons
Introduction to the SQL Server Platform
Working with SQL Server Tools
Configuring SQL Server Services
Lab: Introduction to SQL Server and its Toolset
Verifying SQL Server Component Installation
Altering Service Accounts for New Instance
Enabling Named Pipes Protocol for Both Instances
Creating an Alias for AdvDev
Ensuring SQL Browser is Disabled and Configure a Fixed TCP/IP Port (Only if time permits
After completing this lesson, you will be able to:
- Describe the SQL Server Platform.
- Work with SQL Server Tools.
- Configure SQL Server Services.
Module 2: Working with Data Types
This module explains how to use and convert data types. Also it focuses on how to work with specialized data types, and character data types.Lessons
Using Data Types
Working with Character Data
Converting Data Types
Specialized Data Types
Lab: Working with Data Types
Choosing Appropriate Data Types
Writing Queries With Data Type Conversions
Designing and Creating Alias Data Types (Only if time permits)
After completing this module, students will be able to:
- Work with data types.
- Work with character data.
- Convert between data types.
- Use specialized data types.
Module 3: Designing and Implementing Tables
This module explains how to design, create, and alter tables. Also it focuses on working with schemas.Lessons
Designing Tables
Working with Schemas
Creating and Altering Tables
Lab: Designing and Implementing Tables
Improving the Design of Tables
Creating a Schema
Creating the Tables
After completing this module, students will be able to:
- Design Tables.
- Work with Schemas.
- Create and Alter Tables.
Module 4: Ensuring Data Integrity through Constraints
This module explains how to enforce data integrity, and implement domain integrity to maintain high quality data. Also it focuses on implementing Entity and Referential Integrity.Lessons
Enforcing Data Integrity
Implementing Domain Integrity
Implementing Entity and Referential Integrity
Lab: Ensuring Data Integrity through Constraints
Designing Constraints
Testing the constraints
After completing this module, students will be able to:
- Explain the available options for enforcing data integrity and the levels at which they should be applied.
- Implement domain integrity.
- Implement entity and referential integrity.
Module 5: Planning for SQL Server 2012 Indexing
This module explains the core indexing concepts and effectiveness of each data type commonly used in indexes.Lessons
Core Indexing Concepts
Data Types and Indexes
Single Column and Composite Indexes
Lab: Planning for SQL Server Indexing
Exploring existing index statistics
Designing column orders for indexes
After completing this module, students will be able to:
- Explain core indexing concepts.
- Describe the effectiveness of each data type common used in indexes.
- Plan for single column and composite indexes.
Module 6: Implementing Table Structures in SQL Server 2012
This module explains how tables can be structured in SQL Server databases. Also it focuses on designing and working with clustered indexes.Lessons
SQL Server Table Structures
Working with Clustered Indexes
Designing Effective Clustered Indexes
Lab: Implementing Table Structures in SQL Server
Creating Tables as Heaps
Creating Tables with Clustered Indexes
Comparing the Performance of Clustered Indexes vs. Heaps
After completing this module, students will be able to:
- Explain how tables can be structured in SQL Server databases.
- Work with clustered indexes.
- Design effective clustered indexes.
Module 7: Reading SQL Server 2012 Execution Plans
This module explains how to design additional indexes. Also it focuses on how to read and interpret execution plans.Lessons
Execution Plan Core Concepts
Common Execution Plan Elements
Working with Execution Plans
Lab: Reading SQL Server Execution Plans
Actual vs. Estimated Plans
Identifying Common Plan Elements
Querying Cost Comparison
After completing this module, students will be able to:
- Explain the core concepts related to the use of execution plans.
- Describe the role of the most common execution plan elements.
- Work with execution plans.
Module 8: Improving Performance through Nonclustered Indexes
This module explains how nonclustered indexes have the potential to significantly enhance the performance of applications and how to use a tool that can help design these indexes appropriately.Lessons
Designing Effective Nonclustered Indexes
Implementing Nonclustered Indexes
Using the Database Engine Tuning Advisor
Lab: Improving Performance through Nonclustered Indexes
Nonclustered index usage review
Improving nonclustered index designs
Working with SQL Server Profiler and Database Engine Tuning Advisor
Designing nonclustered index
After completing this module, students will be able to:
- Design effective nonclustered indexes
- Implement nonclustered indexes
- Use the database engine tuning advisor to design indexes
Module 9: Designing and Implementing Views
This module introduces Views, and explains how to create and manage Views. Also it focuses on the performance consideration for Views.Lessons
Introduction to Views
Creating and Managing Views
Performance Considerations for Views
Lab: Designing and Implementing Views
Designing, Implementing and Testing the WebStock Views
Designing and Implementing the Contacts View
Modifying the AvailableModels View
After completing this module, students will be able to:
- Explain the role of views in database development.
- Implement views.
- Describe the performance related impacts of views.
Module 10: Designing and Implementing Stored Procedures
This module describes the potential advantages of the use of stored procedures along with guidelines on creating them.Lessons
Introduction to Stored Procedures
Working With Stored Procedures
Implementing Parameterized Stored Procedures
Controlling Execution Context
Lab: Designing and Implementing Stored Procedures
Creating stored procedures
Creating a parameterized stored procedure
Altering the execution context of stored procedures
After completing this module, students will be able to:
- Describe the role of stored procedures and the potential benefits of using them.
- Work with stored procedures.
- Implement parameterized stored procedures.
- Control the execution context of a stored procedure.
Module 11: Merging Data and Passing Tables
This module reviews the techniques that provide the ability to process sets of data rather than individual rows. Also it focusses on how these techniques can be used in combination with TABLE parameter types to minimize the number of required stored procedure calls in typical applications.Lessons
Using the MERGE Statement
Implementing Table Types
Using TABLE Types As Parameters
Lab: Passing Tables and Merging Data
Creating a Table Type
Using a Table Type Parameter
Using a Table Type with MERGE
After completing this module, students will be able to:
- Use the MERGE statement.
- Implement table types.
- Use TABLE types as parameters.
Module 12: Designing and Implementing User-Defined Functions
This module explains how to design and implement user-defined functions that enforce business rules or data consistency, and modify and maintain existing functions written by other developers.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
Formatting Phone Numbers
Modifying an Existing Function
Resolve a Function-related Performance Issue
After completing this module, students will be able to:
- Design and implement scalar functions.
- Design and implement table-valued functions.
- Describe implementation considerations for functions.
- Describe alternatives to functions.
Module 13: Creating Highly Concurrent SQL Server 2012 Applications
This module explains how to use transactions and the SQL Server locking mechanisms to meet the performance and data integrity requirements of your applications.Lessons
Introduction to Transactions
Introduction to Locks
Management of Locking
Transaction Isolation Levels
Lab: Creating Highly Concurrent SQL Server Applications
Detecting Deadlockss
Investigating Transaction Isolation Levels
After completing this module, students will be able to:
- Describe the role of transactions
- Explain the role of locks
- Manage locking
- Work with transaction isolation level
Module 14: Handling Errors in T-SQL Code
This module explores T-SQL error handling, looks at how it has traditionally been implemented, and how structured exception handling can be usedLessons
Understanding T-SQL Error Handling
Implementing T-SQL Error Handling
Implementing Structured Exception Handling
Lab: Handling Errors in T-SQL Code
Replacing @@ERROR based error handling with structured exception handling
Adding deadlock retry logic to the stored procedure
After completing this module, students will be able to:
- Design T-SQL error handling
- Implement T-SQL error handling
- Implement structured exception handling
Module 15: Responding to Data Manipulation via Triggers
This module, explains what DML triggers are and how they enforce data integrity. Also it focuses on the different types of triggers available, and how to define triggers in a database.Lessons
Designing DML Triggers
Implementing DML Triggers
Advanced Trigger Concepts
Lab: Responding to Data Manipulation via Triggers
Creating and Testing the Audit Trigger
Improving the Audit Trigger
After completing this module, students will be able to:
- Design DML triggers.
- Implement DML triggers.
- Explain advanced DML trigger concepts.
Module 16: Implementing Managed Code in SQL Server 2012
This module explains how to use CLR integrated code to create user-defined database objects that are managed by the .NET Framework.Lessons
Introduction to SQL CLR Integration
Importing and Configuring Assemblies
Implementing SQL CLR Integration
Lab: Designing and Implementing Views
Assessing Proposed CLR Code
Implementing a CLR Assembly
Implementing a CLR User-defined Aggregate and CLR User-defined Data Type
After completing this module, students will be able to:
- Explain the importance of SQL Server CLR Integration.
- Import and configure assemblies.
- Implement objects that have been created within .NET assemblies.
Module 17: Storing XML Data in SQL Server 2012
This module introduces XML and shows how XML data can be stored within SQL Server.Lessons
Introduction to XML and XML Schemas
Storing XML Data and Schemas in SQL Server
Implementing the XML Data Type
Lab: Storing XML Data in SQL Server
Appropriate Usage of XML Data Storage in SQL Server
Investigating the Storage of XML Data in Variables
Investigating the use of XML Schema Collections
Investigating the Creation of Database Columns Based on XML
After completing this module, students will be able to:
- Describe XML and XML schemas.
- Store XML data and associated XML schemas in SQL Server.
- Implement the XML data type within SQL Server.
Module 18: Querying XML Data in SQL Server
This module shows how XML data can be queried, including queries written in a language called XQuery.Lessons
Using the T-SQL FOR XML Statement
Getting Started with XQuery
Shredding XML
Lab: Querying XML Data in SQL Server
Learning to query SQL Server data as XML
Writing a stored procedure returning XML
Writing a stored procedure that updates using XML
After completing this module, students will be able to:
- Use the T-SQL FOR XML Statement.
- Work with basic XQuery queries.
- Shred XML to a relational form.
Module 19: Working with SQL Server 2012 Spatial Data
This module introduces Spatial Data, and explains how to work with SQL Server Spatial Data Types.Lessons
Introduction to Spatial Data
Working with SQL Server Spatial Data Types
Using Spatial Data in Applications
Lab: Working with SQL Server Spatial Data
Familiarity With Geometry Data Type
Adding Spatial Data to an Existing Table
Business Application of Spatial Data
After completing this module, students will be able to:
- Describe the importance of spatial data and the industry standards related to it.
- Explain how to store spatial data in SQL Server.
- Perform calculations on and query SQL Server spatial data.
Module 20: Working with Full-Text Indexes and Queries
This module introduces Full-Text Indexing and how to implement Full-Text Indexes in SQL Server.Lessons
Introduction to Full-Text Indexing
Implementing Full-Text Indexes in SQL Server
Working with Full-Text Queries
Lab: Working with Full-Text Indexes and Queries
Implementing a full-text index
Implementing a stoplist
Creating a stored procedure to implement a full-text search
After completing this module, students will be able to:
- Describe why user interfaces in existing applications are not sufficient for end user search needs
- Implement full-text indexes in SQL Server
- Query SQL Server using full-text queries