Learn your way! Get started

SQL 2012 Developer, Part 10: Partitions

with expert Frank Tillinghast

Watch trailer

SQL 2012 Developer, Part 10: Partitions Trailer

Course at a glance

Included in these subscriptions:

  • Dev & IT Pro Video
  • Dev & IT Pro Power Pack
  • Power Pack Plus

Release date Release date 5/13/2013
Level Level Advanced
Runtime Runtime 1h 22m
Platform Platform Major browsers on Windows Major browsers on Windows Major browsers on Mac OSX Major browsers on Mac OSX Mobile Devices Mobile Devices
Closed captioning Closed captioning N/A
Transcript Transcript N/A
eBooks / courseware eBooks / courseware Included
Hands-on labs Hands-on labs Included
Sample code Sample code Included
Exams Exams Included

Enterprise Solutions
Enterprise Solutions

Need reporting, custom learning tracks, or SCORM? Learn More

Course description

In this course we’ll explore partitioning, and specifically how it’s implemented using SQL Server 2012. Partitioning is a way to manage large amounts of data, and while certainly not a new concept, SQL Server has made improvements over the years that make your job as a database architect and developer easier. We’ll start off by discussing the evolution of partitioning in SQL Server. You’ll learn about partition keys, schemas and functions and how they affect tables, indexes, and the organization of your data. Once you have an understanding of the basics, we’ll move on to discuss methods for querying partitions. As time goes on, it may be necessary to make adjustments to your partitions. Next you’ll learn how to merge or split partitions, switch out partitions, and make modifications to partition schemes. The course then concludes with some tips on how performance tuning.


This course assumes that you have a basic familiarity with the concept of relational databases and a basic understanding of what SQL Server is and the high-level tools in it, as well as how to create and manage objects using Management Studio. You should also have a basic understanding of how SQL Server implements security, including its authentication and authorization schemes, and how to assign permissions on securable objects to principals. You should know the fundamentals of Transact-SQL to write queries to retrieve and update data, and how to execute scripts using the query editor in Management Studio. It will be very helpful, but not absolutely necessary, to have experience with .NET development using Visual Studio 2010 or 2012 for the portions of the course that deal with SQLCLR development. The .NET code included in this course is written in C#, but if you prefer Visual Basic it should be fairly easy to convert the code.

Prepare for certification

This course will help you prepare for:
70-461 Querying Microsoft SQL Server
70-461 Querying Microsoft SQL Server 2012
70-464 Developing Microsoft SQL Server 2012 Databases

This course will help you earn:
MCSE: Business Intelligence
MCSA: SQL Server 2012
MCSE: Data Platform

Meet the expert

Frank Tillinghast Frank Tillinghast is a senior consultant with MTOW Software Solutions. He is a Microsoft Certified Solution Developer and has been developing applications for over 15 years. Most of his time is spent consulting for companies nationwide with troubled projects or mentoring projects to successful completion. When he is not developing software or mentoring clients, Frank is teaching other developers. He has taught thousands of application developers how to create business solutions with Visual Studio .NET. VB.NET, ASP.NET, Visual C#, and SQL Server.

Course outline


Partitioning (20:12)
  • Introduction (00:37)
  • Table-Based Partitioning (00:55)
  • Reasons For Partitioning (02:10)
  • SQL Server Partitioning (00:33)
  • SQL Server 6.5 and Earlier (01:02)
  • SQL Server 7.0 (01:54)
  • SQL Server 2000 (00:34)
  • SQL Server 2005/2008 (02:05)
  • SQL Server 2012 (01:05)
  • Range Partitions (01:18)
  • Partition Key (02:06)
  • Using Multiple Filegroups (03:36)
  • Index Partitioning (01:51)
  • Summary (00:22)
Creating Partition Tables (30:01)
  • Introduction (00:32)
  • Creating Partitioned Tables (02:09)
  • LEFT and RIGHT Boundaries (03:33)
  • Datetime Values (02:56)
  • Demo: Partition Function (01:37)
  • Creating a Partition Scheme (04:33)
  • Schemes and Filegroups (02:46)
  • Demo: Adding Filegroups (02:26)
  • Demo: Partition Scheme (01:50)
  • Partitioning Tables (01:44)
  • Partitioned Index (00:55)
  • Demo: Partitioned Table (02:22)
  • Demo: Partitioned Index (02:05)
  • Summary (00:25)
Querying Partitions (14:29)
  • Introduction (00:24)
  • Querying Partitions (01:03)
  • Using the PARTITION Function (01:44)
  • Demo: PARTITION Function (04:21)
  • Catalog Views (00:50)
  • sys.partition_functions (00:45)
  • sys.partition_range_values (00:18)
  • sys.partition_schemes (00:29)
  • sys.data_spaces (00:31)
  • Demo: Catalog Views (03:38)
  • Summary (00:21)
Managing Partitions (17:29)
  • Introduction (00:25)
  • Managing Partitions (00:44)
  • Modifying Partitions (00:43)
  • Modifying a Partition Function (01:54)
  • Splitting Partitions (02:18)
  • Merging Partitions (02:19)
  • Switching Partitions (03:51)
  • Modifying a Partition Scheme (01:24)
  • Backing Up Partitions (02:04)
  • Performance Considerations (01:25)
  • Summary (00:17)