SQL Server 2014 Service Pack 2 CU1 is Available

On August 25, 2016, Microsoft released SQL Server 2014 Service Pack 2 CU1, which is build 12.0.5511.0. This cumulative update has 45 hotfixes in the public fix list. If you are running SQL Server 2014, this is the branch and build that you should try to be on as soon as you can do your testing and planning (since it is the “latest and greatest” SP and CU).

Currently, the SP1 and SP2 branches are not chronologically aligned as far as release dates go, but that is supposed to be fixed when SP1 CU9 and SP2 CU2 are released at the same time in October.

Speaking at 24 Hours of PASS on September 7, 2016

I will be presenting Dr. DMV: How to Use DMVs to Diagnose Performance Problems during the 24 Hours of PASS Preview Edition at 8AM Mountain Time (UTC –6) on September 7, 2016.

Here is the abstract:

SQL Server 2005 introduced Dynamic Management Views (DMVs) that allow you to see exactly what is happening inside your SQL Server instances and databases with much more detail than ever before. SQL Server 2016 adds even more capability in this area. You can discover your top wait types, most CPU intensive stored procedures, find missing indexes, and identify unused indexes, to name just a few examples. This session preview (which is applicable to SQL 2005-2016), presents and explains over seventy DMV queries that you can quickly and easily use to detect and diagnose performance issues in your environment. If you have ever been responsible for a mission critical database, you have probably been faced with a high stress, emergency situation where a database issue is causing unacceptable application performance, resulting in angry users and hovering managers and executives. If this hasn’t happened to you yet, thank your lucky stars, but start getting prepared for your time in the hot seat. This session will show you how to use DMV queries to quickly detect and diagnose the problem, starting at the server and instance level, and then progressing down to the database and object level. This session will show you how to properly analyze and interpret the results of every single query in the set, along with lots of information on how to properly configure your instance and databases.

You can register here.

PASS-24HOP_SummitPreview2016_624x93b

 

Ideally, after listening to this one hour preview session on September 7, you will decide to sign up for my PASS Summit 2016 Pre-Conference session.

On Monday, October 24, 2016, I will be doing an all-day, session on how to run and interpret my SQL Server diagnostic information queries. I have done many shorter versions of this session (such as 60 minutes, 75 minutes, or even a half-day) before, but I have always felt a little rushed as I went through the complete set of diagnostic queries, explaining how to interpret the results of each one, and also talking about related information that is relevant to each query.

Now, I will have a full day to go into much more detail, without having to hurry to cover everything. I will be using the SQL Server 2016 version of the diagnostic queries, which have even more useful information, including information about many new SQL Server 2016 features. If you are on an older version of SQL Server, most of the queries will still be relevant (depending on how old of a version of SQL Server you are using).

Based on past experience and feedback, Dr. DMV has always been a very popular session that people really seem to enjoy. This all-day, expanded version is going to be really fun and useful, and I hope to see you there!

You can register for the PASS Summit 2016 here.

SQL Server 2014 SP1 CU8 Available

Microsoft has released SQL Server 2014 Service Pack 1 Cumulative Update 8, which is Build 12.0.4468. This CU has 38 hotfixes in the public fix list. Since the SQL Server 2014 RTM branch is no longer a “supported service pack”, there is no corresponding CU for that branch.

The hotfix below seems interesting, although Microsoft is frustratingly vague about what constitutes a “high-end computer… with multiple cores”

Decrease in performance and “non-yielding scheduler” errors caused by unnecessary spinlocks in SQL Server

With the introduction of contained databases in SQL Server, the database engine always performs a containment check before executing stored procedures. On high-end computers with multiple cores, this check may cause a decrease in performance because of internal spinlock contention, occasionally causing “non-yielding scheduler” errors.

There is also no corresponding CU for the SQL Server 2014 SP2 branch, since SQL Server 2014 SP2 was only released on July 11, 2016. This probably means the the CUs for SQL Server 2014 SP1 and SQL Server 2014 SP2 will not be synchronized, which tends to confuse people. Of course, the ultimate solution is to get on the SP2 branch as soon as you are ready.

SQL Server Diagnostic Information Queries for August 2016

This month, I have a new AlwaysOn AG query for SQL Server 2016 and several new improvements in the SQL Server 2014 and 2016 sets, along with additional comments and documentation in the SQL Server 2012, 2014 and 2016 sets.  I have gotten quite a bit of interest about making a special version of these queries for SQL Database in Microsoft Azure. So, I will be doing that during August.

The best way to learn how to interpret the results of all of these queries is to attend my all-day PASS Summit 2016 Pre-Conference Session on Monday, October 24, 2016.

Dr. DMV: How to Use DMVs to Diagnose Performance Problems

Rather than having a separate blog post for each version, I have just put the links for all six major versions in this single post. There are two separate links for each version. The first one on the top left is the actual diagnostic query script, and the one below on the right is the matching blank results spreadsheet, with labeled tabs that correspond to each query in the set. 

Here are links to the latest versions of these queries for SQL Server 2016, 2014 and 2012:

SQL Server 2016 Diagnostic Information Queries (August 2016)

SQL Server 2016 Blank Results

SQL Server 2014 Diagnostic Information Queries (August 2016)

SQL Server 2014 Blank Results

SQL Server 2012 Diagnostic Information Queries (August 2016)

SQL Server 2012 Blank Results

Here are links to the most recent versions of these scripts for SQL Server 2008 R2 and older:

Since SQL Server 2008 R2 and older are out of Mainstream support from Microsoft (and because fewer of my customers are using these old versions of SQL Server), I am not going to be updating the scripts for these older versions of SQL Server every single month going forward.  I started this policy a while ago, and so far, I have not heard any complaints. I did update these queries slightly in January 2016 though.

SQL Server 2008 R2 Diagnostic Information Queries (CY 2016)

SQL Server 2008 R2 Blank Results

SQL Server 2008 Diagnostic Information Queries (CY 2016)

SQL Server 2008 Blank Results

SQL Server 2005 Diagnostic Information Queries (CY 2016)

SQL Server 2005 Blank Results

The basic instructions for using these queries is that you should run each query in the set, one at a time (after reading the directions for that query). It is not really a good idea to simply run the entire batch in one shot, especially the first time you run these queries on a particular server, since some of these queries can take some time to run, depending on your workload and hardware. I also think it is very helpful to run each query, look at the results (and my comments on how to interpret the results) and think about the emerging picture of what is happening on your server as you go through the complete set. I have quite a few comments and links in the script on how to interpret the results after each query.

After running each query, you need to click on the top left square of the results grid in SQL Server Management Studio (SSMS) to select all of the results, and then right-click and select “Copy with Headers” to copy all of the results, including the column headers to the Windows clipboard. Then you paste the results into the matching tab in the blank results spreadsheet.

About half of the queries are instance specific and about half are database specific, so you will want to make sure you are connected to a database that you are concerned about instead of the master system database. Running the database-specific queries while being connected to the master database is a very common mistake that I see people making when they run these queries.

Note: These queries are stored on Dropbox. I occasionally get reports that the links to the queries and blank results spreadsheets do not work, which is most likely because Dropbox is blocked wherever people are trying to connect.

I also occasionally get reports that some of the queries simply don’t work. This usually turns out to be an issue where people have some of their user databases in 80 compatibility mode, which breaks many DMV queries, or that someone is running an incorrect version of the script for their version of SQL Server.

It is very important that you are running the correct version of the script that matches the major version of SQL Server that you are running. There is an initial query in each script that tries to confirm that you are using the correct version of the script for your version of SQL Server. If you are not using the correct version of these queries for your version of SQL Server, some of the queries are not going to work correctly.

If you want to understand how to better run and interpret these queries, you should consider listening to my three latest Pluralsight courses, which are SQL Server 2014 DMV Diagnostic Queries – Part 1SQL Server 2014 DMV Diagnostic Queries – Part 2 and SQL Server 2014 DMV Diagnostic Queries – Part 3. All three of these courses are pretty short and to the point, at 67, 77, and 68 minutes respectively. Listening to these three courses is really the best way to thank me for maintaining and improving these scripts…

Please let me know what you think of these queries, and whether you have any suggestions for improvements. Thanks!

New TPC-E Results for SQL Server 2016

There have been two recent TPC-E OLTP benchmark results published for SQL Server 2016. These include one from Fujitsu and one from Lenovo.

The most recent result, from July 12, 2016 is for a four-socket FUJITSU Server PRIMERGY RX4770 M3 server that is using the latest generation, 14nm 2.2GHz Intel Xeon E7-8890 v4 processor (Broadwell-EX), with a TPC-E throughput score of 8,796.42. As is always the case with TPC-E benchmarks, the hardware vendor used the “flagship”, highest core count processor available from the latest processor family, in this case, a 24-core processor. This helps achieve the highest possible TPC-E throughput score (which is a measure of the total processor capacity of the system), at the cost of quite high SQL Server 2016 licensing costs, since you would have to purchase 96 SQL Server 2016 Enterprise Edition core licenses. This would cost about $684K at full retail price. Fujitsu priced the SQL Server 2016 licenses at $647K in the Executive Summary report.

Another recent result from May 31, 2016 is for a four-socket Lenovo System x3850 X6 that is using the same Intel Xeon E7-8890 v4 processor. This system gets a TPC-E throughput score of 9,068.00, which is about 3% higher than the Fujitsu system. Both systems use a 36TB initial database size, while the Fujitsu system uses 2TB of RAM and the Lenovo system uses 4TB of RAM (which is the license limit for Windows Server 2012 R2). Both systems use all flash storage, with 2.5” SAS SSDs.

Unlike the old TPC-C OLTP benchmark, TPC-E does not require an unrealistically expensive storage subsystem to get good scores. As long as the storage subsystem is “good enough” so that it does not become a bottleneck, then the ultimate TPC-E bottleneck becomes processor performance.

Earlier this year, there were two competing results for two-socket systems from Lenovo and Fujitsu. On March 30, 2016, Fujitsu published a result for a two-socket FUJITSU Server PRIMERGY RX2540 M2 system using the latest generation, 14nm 2.2GHz Intel Xeon E5-2699 v4 processor (Broadwell-EP), with a TPC-E throughput score of 4,734.87. The Intel Xeon E5-2699 v4 has 22 physical cores, so the two-socket system has a total of 44 physical cores that would need SQL Server 2016 licenses that would cost about $313K at full retail price. Fujitsu priced the SQL Server 2016 licenses at $296K in the Executive Summary report.

On March 24, 2016, Lenovo published a result for a Lenovo System x3650 M5 system using the same Intel Xeon E5-2699 v4 processors, with a TPC-E throughput score of 4,938.14, which is about 4% higher than the Fujitsu system. In this case, the Fujitsu system uses 1TB of RAM (with a 19TB initial database size), while the Lenovo system uses 512GB of RAM (with a 20TB initial database size). Both systems use all flash storage, with 2.5” SAS SSDs.

I know that this is a lot of numbers to be throwing around, so a summary of these four systems is shown in Table 1.

 

System Processor Raw Score Total Cores Score/Core
Lenovo System x3850 X6 E7-8890 v4 9,068.00 96 94.45
Fujitsu PRIMERGY RX4770 M3 E7-8890 v4 8,796.42 96 91.63
Lenovo System x3650 M5 E5-2699 v4 4,938.14 44 112.23
Fujitsu PRIMERGY RX2540 M2 E5-2699 v4 4,734.87 44 107.61

Table 1: Recent TPC-E Score Highlights

 

This shows that four-socket Broadwell-EX systems scale relatively well compared to older Xeon E7 processor families, meaning that the drop in single-threaded performance compared to equivalent two-socket Xeon E5 processor families is not as large as it used to be. There is still a gap though, which means that you are losing some scalability as you make the jump from a two-socket system to a four-socket system. If you can split your workload across two database servers, you would be better off to have two, two-socket servers rather than one, four-socket server. You would have more total processor capacity, better single-threaded performance, more PCIe expansion slots and lower SQL Server license costs.

An even better alternative for most people would be to use a lower core count, “frequency optimized” processor, instead of the flagship processor. For example, if you used the eight-core, 3.2 GHz Intel Xeon E5-2667 v4 processor in a two-socket server, you would get the estimated results shown in Table 2.

 

System Processor Raw Score Total Cores Score/Core
Estimated Two-Socket System E5-2667 v4 2611.91 16 163.24

Table 2: Estimated TPC-E Results

If you had four, two-socket systems with the eight-core, 3.2 GHz Intel Xeon E5-2667 v4 processor, instead of one, four-socket system with the 24-core 2.2 GHz Intel Xeon E7-8890 v4 processor, you would have about 15.2% more total processor capacity, about 72.9% better single-threaded performance, and a 33.3% lower SQL Server 2016 licensing cost (which would be about $227K in license savings). You would have the same total memory capacity, and more than three times the number of PCIe slots.

Recent SQL Server 2012 and 2014 Updates

Microsoft has released a number of SQL Server Cumulative Updates and Service Packs over the past several weeks. For SQL Server 2014, these include:

June 20, 2016    SQL Server 2014 RTM CU14 (12.0.2569)

June 20, 2016    SQL Server 2014 SP1 CU7 (12.0.4459)

July 11, 2016     SQL Server 2014 SP2 RTM (12.0.5000)

SQL Server 2014 RTM CU14 will be the last cumulative update for the SQL Server 2014 RTM branch, and it is now an “unsupported service pack”. If you are still on the RTM branch, you should be be planning on moving to either SP1 or preferably SP2. SQL Server 2014 SP2 RTM has all of the fixes that are in SQL Server 2014 SP1 CU7, so there is no need to wait for SQL Server 2014 SP2 CU1 in order to “catch up” to the previous branches. It also has a number of new features and performance improvements (which you can read about here), so I think people are going to want to move to the SP2 branch relatively soon.

You can find the official Microsoft Build list for SQL Server 2014 here:

SQL Server 2014 Build Versions

 

For SQL Server 2012, we have these updates:

July 18, 2016     SQL Server 2012 SP2 CU13  (11.0.5655)

July 18, 2016     SQL Server 2012 SP3 CU4    (11.0.6540)

As always, I think you are better off to be on the latest Service Pack for whatever version of SQL Server you are using. For SQL Server 2012, the RTM and SP1 branches are both considered “unsupported service packs”. You need to be on either SP2 or SP3, preferably SP3.

You can find the official Microsoft Build lists for SQL Server 2012 SP3 and SP2 here:

SQL Server 2012 SP3 build versions

SQL Server 2012 SP2 build versions

Finally, if you or your organization are still reluctant to deploy SQL Server Cumulative Updates, you should read the current official guidance from Microsoft about this. One of the key points is “we now recommend ongoing, proactive installation of CU’s as they become available”. This does not mean that you just blindly deploy a cumulative update to Production the day it is released. Rather, you should have a good testing and deployment plan that you go through before you deploy to Production. You can read the full Microsoft guidance here:

Announcing updates to the SQL Server Incremental Servicing Model (ISM)

Speaking at PASS Summit 2016

I will be presenting two sessions at the PASS Summit 2016 in Seattle, WA, which is being held October 25-28, 2016.

On Monday, October 24, 2016, I will be doing an all-day, Pre-Conference session on how to interpret my SQL Server diagnostic information queries. I have done many shorter versions of this session (such as 60 minutes, 75 minutes, or even a half-day) before, but I have always felt a little rushed as I went through the complete set of diagnostic queries, explaining how to interpret the results of each one, and also talking about related information that is relevant to each query.

Now, I will have a full day to go into more detail, without having to hurry to cover everything. I will be using the SQL Server 2016 version of the diagnostic queries, which have even more useful information, including information about many new SQL Server 2016 features. If you are on an older version of SQL Server, most of the queries will still be relevant (depending on how old of a version of SQL Server you are using).

Based on past experience and feedback, Dr. DMV has always been a very popular session that people really seem to enjoy. This all-day, expanded version is going to be really fun and useful, and I hope to see you there!

Dr. DMV: How to Use DMVs to Diagnose Performance Problems

SQL Server 2005 introduced Dynamic Management Views (DMVs) that allow you to see exactly what is happening inside your SQL Server instances and databases with much more detail than ever before. SQL Server 2016 adds even more capability in this area. You can discover your top wait types, most CPU intensive stored procedures, find missing indexes, and identify unused indexes, to name just a few examples. This session (which is applicable to SQL 2005-2016), presents and explains over seventy DMV queries that you can quickly and easily use to detect and diagnose performance issues in your environment. If you have ever been responsible for a mission critical database, you have probably been faced with a high stress, emergency situation where a database issue is causing unacceptable application performance, resulting in angry users and hovering managers and executives. If this hasn’t happened to you yet, thank your lucky stars, but start getting prepared for your time in the hot seat. This session will show you how to use DMV queries to quickly detect and diagnose the problem, starting at the server and instance level, and then progressing down to the database and object level. This session will show you how to properly analyze and interpret the results of every single query in the set, along with lots of information on how to properly configure your instance and databases.

 

This is a regular, 75 minute session that will be all new content, going into much deeper detail about the SQL Server related factors of current server hardware, and how to go about selecting the best database server hardware for your workload and budget. I want to show you how to pick hardware that gives you the best performance possible while minimizing your SQL Server license costs, saving your organization a huge amount of money!

Hardware 301: Diving Deeper into Database Hardware

Making the right hardware selection decisions is extremely important for database scalability. Having properly sized and configured hardware can both increase application performance and reduce capital expenses dramatically. Unfortunately, there are so many different choices and options available when it comes to selecting hardware and storage subsystems, it is very easy to make bad choices based on outdated conventional wisdom. This session will give you a framework for how to pick the right hardware and storage subsystem for your workload type. You will learn how to evaluate and compare key hardware components, such as processors, chipsets, and memory. You will also learn how to evaluate and compare different types of storage subsystems for various database workload types. Gain the knowledge you need to get the best performance and scalability possible from your hardware budget!

The PASS Summit is always a fun and very useful and educational event. It is a great way to get to know more people in the SQL Server community and to connect with people that you may only know online.

You can register for the PASS Summit 2016 here.

 

 

SQL Server Diagnostic Information Queries for July 2016

This month, I have several new improvements in the SQL Server 2014 and 2016 sets, along with additional comments and documentation in the SQL Server 2012, 2014 and 2016 sets.  I have gotten quite a bit of interest about making a special version of these queries for SQL Database in Microsoft Azure. So, I will be doing that next month.

The best way to learn how to interpret the results of all of these queries is to attend my all-day PASS Summit 2016 Pre-Conference Session on Monday, October 24, 2016.

Dr. DMV: How to Use DMVs to Diagnose Performance Problems

Rather than having a separate blog post for each version, I have just put the links for all six major versions in this single post. There are two separate links for each version. The first one on the top left is the actual diagnostic query script, and the one below on the right is the matching blank results spreadsheet, with labeled tabs that correspond to each query in the set. 

Here are links to the latest versions of these queries for SQL Server 2016, 2014 and 2012:

SQL Server 2016 Diagnostic Information Queries (July 2016)

SQL Server 2016 Blank Results

SQL Server 2014 Diagnostic Information Queries (July 2016)

SQL Server 2014 Blank Results

SQL Server 2012 Diagnostic Information Queries (July 2016)

SQL Server 2012 Blank Results

Here are links to the most recent versions of these scripts for SQL Server 2008 R2 and older:

Since SQL Server 2008 R2 and older are out of Mainstream support from Microsoft (and because fewer of my customers are using these old versions of SQL Server), I am not going to be updating the scripts for these older versions of SQL Server every single month going forward.  I started this policy a while ago, and so far, I have not heard any complaints. I did update these queries slightly in January 2016 though.

SQL Server 2008 R2 Diagnostic Information Queries (CY 2016)

SQL Server 2008 R2 Blank Results

SQL Server 2008 Diagnostic Information Queries (CY 2016)

SQL Server 2008 Blank Results

SQL Server 2005 Diagnostic Information Queries (CY 2016)

SQL Server 2005 Blank Results

The basic instructions for using these queries is that you should run each query in the set, one at a time (after reading the directions for that query). It is not really a good idea to simply run the entire batch in one shot, especially the first time you run these queries on a particular server, since some of these queries can take some time to run, depending on your workload and hardware. I also think it is very helpful to run each query, look at the results (and my comments on how to interpret the results) and think about the emerging picture of what is happening on your server as you go through the complete set. I have quite a few comments and links in the script on how to interpret the results after each query.

After running each query, you need to click on the top left square of the results grid in SQL Server Management Studio (SSMS) to select all of the results, and then right-click and select “Copy with Headers” to copy all of the results, including the column headers to the Windows clipboard. Then you paste the results into the matching tab in the blank results spreadsheet.

About half of the queries are instance specific and about half are database specific, so you will want to make sure you are connected to a database that you are concerned about instead of the master system database. Running the database-specific queries while being connected to the master database is a very common mistake that I see people making when they run these queries.

Note: These queries are stored on Dropbox. I occasionally get reports that the links to the queries and blank results spreadsheets do not work, which is most likely because Dropbox is blocked wherever people are trying to connect.

I also occasionally get reports that some of the queries simply don’t work. This usually turns out to be an issue where people have some of their user databases in 80 compatibility mode, which breaks many DMV queries, or that someone is running an incorrect version of the script for their version of SQL Server.

It is very important that you are running the correct version of the script that matches the major version of SQL Server that you are running. There is an initial query in each script that tries to confirm that you are using the correct version of the script for your version of SQL Server. If you are not using the correct version of these queries for your version of SQL Server, some of the queries are not going to work correctly.

If you want to understand how to better run and interpret these queries, you should consider listening to my three latest Pluralsight courses, which are SQL Server 2014 DMV Diagnostic Queries – Part 1SQL Server 2014 DMV Diagnostic Queries – Part 2 and SQL Server 2014 DMV Diagnostic Queries – Part 3. All three of these courses are pretty short and to the point, at 67, 77, and 68 minutes respectively. Listening to these three courses is really the best way to thank me for maintaining and improving these scripts…

Please let me know what you think of these queries, and whether you have any suggestions for improvements. Thanks!

SQL Server 2014 Service Pack 1 CU7

On June 20, 2016, Microsoft released SQL Server 2014 Service Pack 1 CU7, which is Build 12.0.4459. This cumulative update has 35 fixes in the public hot fix list. Quite a few of these fixes seem to be pretty significant.

They also released SQL Server 2014 RTM CU14, which is Build 12.0.2569. This cumulative update has 21 fixes in public hot fix list. This is the last CU for the RTM branch.

SQL Server 2014 Service Pack 2 is due to be released in July of 2016, so depending on how old of a build of SQL Server 2014 you are on, you might just want to wait for SP2. Otherwise, I think you should try to stay on a current CU, in a proactive fashion. Microsoft recently changed their official guidance about installing CUs, as you can read about here.

More Intel Broadwell Server Processor Families Available

Back on March 31, 2016 (the last day of Q1 2016), Intel released the 14nm Xeon E5-2600 v4 Product Family (Broadwell-EP), which is currently the highest single-threaded performance product family for two-socket servers. You can read about some of the specific enhancements in this family in this document: Intel® Xeon® Processor E5-2600 V4 Product Family Technical Overview. These processors are socket compatible with the previous Haswell-EP family, so they work with (and are currently available for) existing server models from all of the major server vendors.

If you are going to purchase a new Xeon E5-2600 v4 system (which I think is the best choice for most people), then the model numbers shown in Table 1 are your best choices for SQL Server usage, for each physical core count. The eight-core Xeon E5-2667 v4, the six-core Xeon E5-2643 v4 and the four-core Xeon E5-2637 v4 are the “frequency-optimized” models that would be my preferred choices in most situations for SQL Server usage.

 

Model Cores/L3 Cache Base Clock Turbo Clock Price
Xeon E5-2699 v4 22/55MB 2.20 GHz 3.60 GHz $4,115.00
Xeon E5-2698 v4 20/50MB 2.20 GHz 3.60 GHz $3,226.00
Xeon E5-2697 v4 18/45MB 2.30 GHz 3.60 GHz $2,702.00
Xeon E5-2697A v4 16/40MB 2.60 GHz 3.60 GHz $2,891.00
Xeon E5-2690 v4 14/35MB 2.60 GHz 3.50 GHz $2,090.00
Xeon E5-2687W v4 12/30MB 3.00 GHz 3.50 GHz $2,141.00
Xeon E5-2640 v4 10/25MB 2.40 GHz 3.40 GHz $939.00
Xeon E5-2667 v4 8/25MB 3.20 GHz 3.60 GHz $2,057.00
Xeon E5-2643 v4 6/20MB 3.40 GHz 3.70 GHz $1,552.00
Xeon E5-2637 v4 4/15MB 3.50 GHz 3.70 GHz $996.00

Table 1: Preferred Xeon E5-2600 v4 Family Processors (Broadwell-EP)

 

On June 6, 2016, Intel released the 14nm Xeon E7 v4 Product Family (Broadwell-EX), for four-socket and larger servers. These processors are also socket compatible with the previous Haswell-EX family, so they work with (and are currently available for) existing server models from all of the major server vendors. I have to admit that this quick release of the Xeon E7 v4 took me by surprise, since I was not expecting it until late 2016 or early 2017, based on Intel’s past release history. Typically, there is anywhere from a six to eighteen month delay between the release of a new generation Xeon E5-2600 processor family, and an equivalent generation Xeon E7 processor family.

If you are going to purchase a new Xeon E7 v4 system, then the model numbers shown in Table 2 are your best choices for SQL Server usage, for each physical core count. The eighteen-core Xeon E7-8867 v4, the ten-core Xeon E7-8891 v4 and the four-core Xeon E7-8893 v4 are the “frequency-optimized” models that would be my preferred choices in most situations for SQL Server usage.

 

Model Cores/L3 Cache Base Clock Turbo Clock Price
Xeon E7-8890 v4 24/60MB 2.20 GHz 3.40 GHz $7,174.00
Xeon E7-8880 v4 22/55MB 2.20 GHz 3.30 GHz $5,895.00
Xeon E7-8870 v4 20/50MB 2.10 GHz 3.00 GHz $4,672.00
Xeon E7-8867 v4 18/45MB 2.40 GHz 3.30 GHz $4,672.00
Xeon E7-4850 v4 16/40MB 2.10 GHz 2.80 GHz $3,003.00
Xeon E7-4830 v4 14/35MB 2.00 GHz 2.80 GHz $2,170.00
Xeon E7-8891 v4 10/60MB 2.80 GHz 3.50 GHz $6,841.00
Xeon E7-4809 v4 8/20MB 2.10 GHz 2.10 GHz $1,223.00
Xeon E7-8893 v4 4/60MB 3.20 GHz 3.50 GHz $6,841.00

Table 2: Preferred Xeon E7 v4 Family Processors (Broadwell-EX)

 

On June 20, 2016, Intel released the 14nm Xeon E5-4600 v4 Product Family (Broadwell-EP), for four-socket servers, which was also somewhat of a surprise. To be honest, I am not a big fan of the E5-4600 v4 Family. The Xeon E5 is really meant for two-socket systems, and it does not seem to scale very well in a four-socket system. If you really need the higher total core counts and higher total memory limit that you would get from a Xeon E5-4600 v4 vs. a Xeon E5-2600 v4 system, I think you are better off to make the jump to a Xeon E7 v4 system (which will also get you more RAS features).

All of the Xeon E5-4600 v4 Family processors have relatively low base clock speeds, and the higher core count SKUs are actually quite expensive, basically in the same range as similar core count Xeon E7 v4 processors. If you really want a Xeon E5-4600 v4 system, then the model numbers shown in Table 3 are your best choices for SQL Server usage, for each physical core count. The ten-core Xeon E5-4627 v4 and eight-core Xeon E5-4655 v4 would be my preferred choices in most situations, since they are somewhat “frequency-optimized”, and have lower overall core counts, which will dramatically reduce your SQL Server 2016 licensing costs.

 

Model Cores/L3 Cache Base Clock Turbo Clock Price
Xeon E5-4669 v4 22/55MB 2.20 GHz 3.00 GHz $7,007.00
Xeon E5-4667 v4 18/45MB 2.20 GHz 3.00 GHz $5,729.00
Xeon E5-4660 v4 16/40MB 2.20 GHz 3.00 GHz $4,727.00
Xeon E5-4650 v4 14/35MB 2.20 GHz 2.80 GHz $3,838.00
Xeon E5-4640 v4 12/30MB 2.10 GHz 2.60 GHz $2,837.00
Xeon E5-4627 v4 10/25MB 2.60 GHz 3.20 GHz $2,225.00
Xeon E5-4655 v4 8/30MB 2.50 GHz 3.20 GHz $4,616.00

Table 3: Preferred Xeon E5-4600 v4 Family Processors (Broadwell-EP)

In many situations, you would be much better off to get two, very fast Xeon E5-2600 v4 based two-socket database servers rather than one Xeon E7 v4 based four-socket database server, assuming you can split your workload across two database servers.