M10776: Developing Microsoft SQL Server 2012 Databases (Beta Course)

5 Day Course
Hands On
Official Microsoft Curriculum
Code M10776

Book Now - 1 Delivery Method Available:

Scheduled Online Onsite


This 5-day instructor-led course introduces SQL Server 2012 and describes logical table design, indexing and query plans. It also focusses on the creation of database objects including views, stored procedures, along with parameters, and functions. Other common aspects of procedure coding, such as transactions, concurrency, error handling, triggers, and SQL CLR are also covered in this course.

The Beta version of this course (10776AB) utilizes pre-release software in the virtual machine for the labs. Some of the exercises in this course are SQL Azure enabled.


After completing this course, students will be able 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.
  • Determine appropriate data types to be used when designing tables, convert data between data types, and create alias data types.
  • Be aware of good design practices regarding SQL Server tables and be able to create tables using T-SQL. (Note: partitioned tables are not covered).
  • Implement PRIMARY KEY, FOREIGN KEY, DEFAULT, CHECK and UNIQUE constraints, and investigate cascading FOREIGN KEY constraints.
  • Determine appropriate single column and composite indexes strategies.
  • Create tables as heaps and tables with clustered indexes. Also consider the design of a table and suggest an appropriate structure.
  • Read and interpret details of common elements from execution plans.
  • Design effective non-clustered indexes.
  • Design and implement views
  • Design and implement stored procedures.
  • Work with table types, table valued parameters and use the MERGE statement to create stored procedures that update data warehouses.
  • Design and implement functions, both scalar and table-valued. (Also describe where they can lead to performance issues).
  • Perform basic investigation of a deadlock situation and learn how transaction isolation levels affect application concurrency.
  • Use both traditional T-SQL error handling code and structured exception handling.
  • Design and implement DML triggers
  • Learn appropriate uses for SQL CLR integration and implement an existing .NET assembly within SQL Server.
  • Store XML data and schemas in SQL Server.
  • Perform basic queries on XML data in SQL Server.
  • Work with the GEOGRAPHY and GEOMETRY data types
  • Implement and query a full-text index.

Training Partners

We work with the following best of breed training partners using our bulk buying power to bring you a wider range of dates, locations and prices.


Hide all

Introduction to SQL Server 2012 and its Toolset (9 topics)

  • 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

Working with Data Types (8 topics)

  • 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

Designing and Implementing Tables (7 topics)

  • 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

Ensuring Data Integrity through Constraints (6 topics)

  • Enforcing Data Integrity
  • Implementing Domain Integrity
  • Implementing Entity and Referential Integrity
  • Lab: Ensuring Data Integrity through Constraints
  • Designing Constraints
  • Testing the constraints

Planning for SQL Server 2012 Indexing (6 topics)

  • 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

Implementing Table Structures in SQL Server 2012 (7 topics)

  • 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

Reading SQL Server 2012 Execution Plans (7 topics)

  • 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

Improving Performance through Nonclustered Indexes (8 topics)

  • 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

Designing and Implementing Views (7 topics)

  • 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

Designing and Implementing Stored Procedures (8 topics)

  • 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

Merging Data and Passing Tables (7 topics)

  • 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

Designing and Implementing User-Defined Functions (9 topics)

  • 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

Creating Highly Concurrent SQL Server 2012 Applications (7 topics)

  • 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

Handling Errors in T-SQL Code (6 topics)

  • 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

Responding to Data Manipulation via Triggers (6 topics)

  • 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

Implementing Managed Code in SQL Server 2012 (7 topics)

  • 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

Storing XML Data in SQL Server 2012 (8 topics)

  • 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

Querying XML Data in SQL Server (7 topics)

  • 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

Working with SQL Server 2012 Spatial Data (7 topics)

  • 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

Working with Full-Text Indexes and Queries (7 topics)

  • 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


In addition to their professional experience, students who attend this training should already have the following technical knowledge:

  • Knowledge of writing T-SQL queries.
  • Knowledge of basic relational database concepts.
  • Students who attend this training can meet the prerequisites by attending the following courses, or obtaining equivalent knowledge and skills of M10774: Querying Microsoft SQL Server 2012

Additional Learning

The courses below may help you meet the knowledge level required to take this course. If you are unsure please ask a training advisor .

or call:408-759-5074

Alternatively you can request a callback or schedule a call with a Training Advisor

Course PDF


Share this Course


Recommend this Course