On October 30th, 2018, Microsoft released SQL Server 2014 Service Pack 3. This will almost certainly be the final service pack for SQL Server 2014; you should start thinking about your upgrade strategy now, because history tells us the older SP branches will quickly slip out of maintenance mode.
The build number for SP3 is 12.0.6024.0 and there are 31 fixes documented in KB #4022619. Many of these improvements are updates that have been back-ported after being implemented in SQL Server 2016, 2017, and 2019. The service pack includes fixes from the SP2 branch up to and including Cumulative Update #13 (the fixes from CU #14 will follow).
Microsoft has changed their servicing model slightly, in that for any particular branch, the CU download page only offers the most recent Cumulative Update. This is true no matter which KB article you came from. However, if you are looking for a specific Cumulative Update that doesn't happen to be the most recent one, you can download it from the Microsoft Update Catalog – just don't expect that to always have the latest.
Regardless of your branch or patch level, be sure to check out this CSS blog post and KB #2964518 : Recommended updates and configuration options for SQL Server 2012 / 2014, which is full of useful advice.
For help with acronyms used here or in the resources referenced, see Definitions of SQL Server release acronyms.
And of course, please always perform full regression testing before installing any SQL Server update in production. Kendra Little has a nice post about this.
Service Pack 2 (12.0.5000) was released on July 11, 2016, and includes 133 fixes and enhancements – including all of the fixes up to and including SP1 CU7. Those from SP1 CU8 should all be found in SP2 CU1, released August 25th. The official Knowledge Base article for SP2 is KB #3171021, and you can download the service pack here and the updated feature pack here. The latest CU for SQL Server 2014 Service Pack 2 is always available here, except in the case of certain out-of-band security updates, like Spectre/Meltdown (more info below).
Some very interesting improvements in Service Pack 2, many of which were already included in SQL Server 2016. There were others, so this list should not be considered exhaustive, just OUR TOP 20:
- Showplan XML will now include any trace flags in effect, actual rows read, per-operator performance metrics, and more details on spills.
- New query hints to control memory grants (without Resource Governor).
- Buffer pool can now exceed 8 TB (I'm sure a lot of us were hampered by this limitation).
- Better read workload throughput via reduced spinlocks.
- Automatic soft-NUMA partitioning.
- Database lock partitioning (without using trace flags 1236 / 9024 – also in SP1).
- Performance improvements in spatial (trace flag 6533).
MAXDOPsupport for several
- Dynamic memory object scaling.
- Import and export UTF-8 data with BCP /
- New DMF,
sys.dm_db_incremental_stats_properties(see Connect #797156).
- New DMF,
sys.dm_exec_input_buffer, for retrieving correlated
- Index usage stats no longer get cleared after a rebuild (see Connect #739566).
- New error log diagnostics for tempdb, instant file initialization, and Availability Group lease timeouts.
DBCC CLONEDATABASE()– create a stats-only copy of a database with minimal effort (Melissa blogged about this feature for T-SQL Tuesday #80).
Service Pack 2 has been released, and it really should be where your efforts are going, if it is possible (yes, I know some people have to stay on older service packs for a variety of reasons).
If you're on RTM still (< 12.0.4000), there is an important security GDR/QFE that has been released through Security Bulletin MS15-058 and KB #3065718. This issue does not affect Service Pack 1. (And you should start planning to move to the SP2 branch now anyway.)