The post Performance and Stability Related Fixes in Post-SQL Server 2016 SP2 Builds appeared first on Glenn Berry.
]]>Table 1 shows the SQL Server 2016 SP2 CU builds that have been released so far:
| Build | Description | Release Date |
| 13.0.5149 | SP2 CU1 | May 30, 2018 |
| 13.0.5153 | SP2 CU2 | July 16, 2018 |
| 13.0.5216 | SP2 CU3 | September 20, 2018 |
| 13.0.5233 | SP2 CU4 | November 13, 2018 |
| 13.0.5264 | SP2 CU5 | January 23, 2019 |
| 13.0.5292 | SP2 CU6 | March 19, 2019 |
| 13.0.5337 | SP2 CU7 | May 22, 2019 |
| 13.0.5426 | SP2 CU8 | July 31, 2019 |
| 13.0.5492 | SP2 CU10 | October 8, 2019 |
| 13.0.5598 | SP2 CU11 | December 9, 2019 |
Table 1: SQL Server 2016 SP2 CU Builds
You can follow the KB article link below to see all of the CU builds for the SQL Server 2016 RTM, SQL Server 2016 SP1 and SQL Server 2016 SP2 branches.
Like I have done for other versions and branches of SQL Server, I decided to scan the hotfix list for all of the Cumulative Updates in the SP2 branch, looking for performance and general reliability-related fixes for the SQL Server Database Engine. I came up with the list below, but this listing is completely arbitrary on my part. You may come up with a completely different list, based on what specific SQL Server 2016 features you are using.
Here are the fixes in the SP2 branch:
SQL Server 2016 SP2 Cumulative Update 1 (Build 13.0.5149), 29 total public hot fixes
PFS page round robin algorithm improvement in SQL Server 2016
FIX: TDE enabled database backup with compression causes database corruption in SQL Server 2016
FIX: Restore of a TDE compressed backup is unsuccessful when using the VDI client
FIX: Performance is slow for an Always On AG when you process a read query in SQL Server
FIX: Database cannot be dropped after its storage is disconnected and reconnected in SQL Server
SQL Server 2016 SP2 Cumulative Update 2 (Build 13.0.5153), 21 total public hot fixes
FIX: Parallel redo does not work after you disable Trace Flag 3459 in an instance of SQL Server
FIX: Slow performance of SQL Server 2016 when Query Store is enabled
Transparent Data Encryption added for Log Shipping in SQL Server
FIX: VSS backup fails in secondary replica of Basic Availability Groups in SQL Server 2016
FIX: TDE enabled database backup with compression causes database corruption in SQL Server
FIX: Error 19432 when you use Always On Availability Groups in SQL Server
SQL Server 2016 SP2 Cumulative Update 3 (Build 13.0.5216), 28 total public hot fixes
FIX: Leakage of sensitive data occurs when you enable DDM function in SQL Server 2016 and 2017
FIX: Out of memory error occurs even when there are many free pages in SQL Server
FIX: A memory leak occurs in sqlwepxxx.dll causes the WmiPrvSe.exe process to crash
FIX: Assertion error occurs when you use sys.dm_exec_query_statistics_xml in SQL Server 2016
FIX: The SQL Service shuts down after SP2 is installed on SQL Server 2016 with c2 audit mode enabled
Update adds lightweight query profiling hint in SQL Server 2016
FIX: Error 41317 when you enable server audit and you use in-memory transactions in SQL Server
FIX: Upgrading SP1 instance fails when you use SxS instances of SQL Server 2016 SP1 and SP2
SQL Server 2016 SP2 Cumulative Update 4 (Build 13.0.5233), 36 total public hot fixes
FIX: Access violation occurs when SQL Server 2016 tries to start Query Store Manager during startup
FIX: Overestimations when using default Cardinality Estimator to query table with many null values
FIX: Access violation occurs in compile code when you parse the forced plan in SQL Server 2017
FIX: Assertion error occurs when you run a MERGE statement with an OUTPUT clause in SQL Server 2017
FIX: Assertion error occurs when you restart the SQL Server 2016 database
FIX: Access violation occurs in Distribution Agent in SQL Server 2017
FIX: Assertion occurs when you use parallel redo in a secondary replica of SQL Server 2016 AG
FIX: DefaultLanguage.LCID property changes for partially contained In-Memory OLTP database
FIX: Assertion error occurs during restoration of TDE compressed backups in SQL Server 2016
FIX: Access violation when you run a granular audit policy for DML in SQL Server
SQL Server 2016 SP2 Cumulative Update 5 (Build 13.0.5264), 43 total public hot fixes
FIX: I/O error on a BPE file causes buffer time-out in SQL Server
FIX: SQL Server installation fails if one of the remote nodes is unreachable in a cluster
FIX: High CPU usage when there are many batch requests in SQL Server 2016
FIX: Server crashes when you cancel DBCC CHECKDB against a large database in SQL Server 2016
FIX: ObjectPropertyEx returns incorrect row count when there are partitions in a database object
SQL Server 2016 SP2 Cumulative Update 6 (Build 13.0.5292), 26 total public hot fixes
FIX: SQL Writer Service can cause undetected deadlocks on system DMV when you do a VSS backup
FIX: Error 10314 occurs when you load .NET CLR assembly in SQL Server 2016 database
FIX: Stack Dump occurs in the change tracking cleanup process in SQL Server 2016
FIX: Automatic seeding assertions when databases are removed from AG in SQL Server 2016
SQL Server 2016 SP2 Cumulative Update 7 (Build 13.0.5337), 27 total public hot fixes
FIX: Filtered index may be corrupted when you rebuild index in parallel in SQL Server 2014 and 2016
FIX: Assertion error occurs when you use sys.dm_exec_query_statistics_xml in SQL Server 2016
FIX: Indirect checkpoints on tempdb database cause “Non-yielding scheduler” error in SQL Server 2016
FIX: Log reader agent may fail after AG failover with TF 1448 enabled in SQL Server 2014 and 2016
FIX: Tlog grows quickly when you run auto cleanup procedure in SQL Server 2016
FIX: AG is suspended when cross-database transaction is applied on AG databases in SQL Server 2016
FIX: Access violation occurs when you run sys.fn_dump_dblog function in SQL Server 2016
SQL Server 2016 SP2 Cumulative Update 8 (Build 13.0.5427), 28 total public hot fixes
FIX: Peer-to-peer replication fails in SQL Server 2016 if the host name is not uppercase
FIX: “No valid credentials provided” occurs after you restart PolyBase in SQL Server 2016 and 2017
FIX: Assertion dump occurs when you select a view on a linked server in SQL Server 2016 and 2017
Improvement: Allow altering external data source in APS in SQL Server 2016
FIX: Concurrent Inserts into a CCI can cause deadlock under memory pressure in SQL Server 2016
FIX: DBCC SHOW_STATISTICS permission check fails with an AV error in SQL Server 2016 and 2017
FIX: Filled transaction log causes outages when you run Query Store in SQL Server 2016 and 2017
FIX: Memory dumps generate when access violation occurs in SQL Server 2016
FIX: Error 409 occurs when you back up databases by using BackuptoURL
FIX: Restore or RESTORE VERIFYONLY of a TDE-compressed backup fails in SQL Server 2016 and 2017
SQL Server 2016 SP2 Cumulative Update 10 (Build 13.0.5492), 21 total public hot fixes
FIX: Transaction log isn‘t truncated on a single node Availability Group in SQL Server 2016
FIX: Orphaned CLR sessions cause blocking in SQL Server 2016
FIX: Access violation occurs when you run queries that involve PIVOT or UNPIVOT in SQL Server 2016
FIX: Stack dump occurs when table type has a user-defined constraint in SQL Server 2016
FIX: SQL Writer Service fails to back up in non-component backup path in SQL Server 2016
FIX: Access violation occurs when a clone database verification fails in SQL Server 2016
FIX: SQL Server 2016 database remains in frozen I/O state indefinitely when backed up by VSS
SQL Server 2016 SP2 Cumulative Update 11 (Build 13.0.5492), 26 total public hot fixes
FIX: Error 41168 occurs when you try to alter DAG SEEDING_MODE in SQL Server 2016 and 2017
FIX: Self-deadlock occurs when transaction auditing is enabled in SQL Server 2016 and 2017
FIX: Exception error 3628 may occur when you execute stored procedure in SQL Server 2016 and 2017
FIX: Database cannot recover and reports error 5243 in SQL Server 2016 and 2017
FIX: DBCC CHECKDB with EXTENDED_LOGICAL_CHECKS fails on a table in SQL Server 2016
FIX: Unable to restore SQL Server 2012 databases on SQL Server 2016 because of NCCI
FIX: Access violation occurs when you use sys.dm_os_memory_objects in SQL Server 2016 and 2017
FIX: Error 8601 occurs when you run a query with partition function in SQL Server
The reason that I put these lists together is that I want to convince more people to try to keep their SQL Server instances up to date with Cumulative Updates. If you do the proper testing, planning and preparation, I think the risks from installing a SQL Server Cumulative Update are quite low (despite the occasional issues that people run into).
If you install a Cumulative Update or Service Pack on a Production system the day it is released, after doing no testing whatsoever, and then run into problems (and don’t have a plan on how to recover), then I don’t have that much sympathy for you.
On the other hand, if you go through a thoughtful and thorough testing process, and you have a plan for how you will install the CU, and how you would recover if there were any problems, then you are much less likely to have any problems. You are also much more likely to avoid the issues that are fixed by all of the included fixes in the new build of SQL Server. You have done your job as a good DBA.
Finally, Microsoft has changed their official guidance about whether you should install SQL Server Cumulative Updates. As they say, “we now recommend ongoing, proactive installation of CU’s as they become available”.
The post Performance and Stability Related Fixes in Post-SQL Server 2016 SP2 Builds appeared first on Glenn Berry.
]]>The post Performance and Stability Related Fixes in Post-SQL Server 2016 SP1 Builds appeared first on Glenn Berry.
]]>Table 1 shows the SQL Server 2016 SP1 CU builds that have been released so far:
| Build | Description | Release Date |
| 13.0.4411 | SP1 CU1 | January 18, 2017 |
| 13.0.4422 | SP1 CU2 | March 20, 2017 |
| 13.0.4435 | SP1 CU3 | May 15, 2017 |
| 13.0.4446 | SP1 CU4 | August 8, 2017 |
| 13.0.4451 | SP1 CU5 | September 18, 2017 |
| 13.0.4457 | SP1 CU6 |
November 21, 2017 |
| 13.0.4466 | SP1 CU7 | January 4, 2018 |
| 13.0.4474 | SP1 CU8 | March 19, 2018 |
| 13.0.4502 | SP1 CU9 | May 30, 2018 |
| 13.0.4514 | SP1 CU10 | July 16, 2018 |
| 13.0.4528 | SP1 CU11 | September 17, 2018 |
| 13.0.4541 | SP1 CU12 | November 13, 2018 |
| 13.0.4550 | SP1 CU13 | January 23, 2019 |
| 13.0.4560 | SP1 CU14 | March 19, 2019 |
| 13.0.4574 | SP1 CU15 | May 16, 2019 |
Table 1: SQL Server 2016 SP1 CU Builds
You can follow the KB article link below to see all of the CU builds for the SQL Server 2016 RTM and SQL Server 2016 SP1 branches.
Like I have done for other versions and branches of SQL Server, I decided to scan the hotfix list for all of the Cumulative Updates in the SP1 branch, looking for performance and general reliability-related fixes for the SQL Server Database Engine. I came up with the list below, but this listing is completely arbitrary on my part. You may come up with a completely different list, based on what specific SQL Server 2016 features you are using.
Here are the fixes in the SP1 branch:
SQL Server 2016 SP1 Cumulative Update 1 (Build 13.0.4411), 54 total public hot fixes
FIX: The “sys.dm_db_column_store_row_group_physical_stats” query runs slowly on SQL Server 2016
FIX: An Always On secondary replica goes into a disconnecting state
FIX: A memory leak occurs when SQL Server procedure cache consumes too much memory
FIX: Out of memory occurs when you use long Hekaton transactions in SQL Server 2016
FIX: Error 3628 when you create or rebuild a columnstore index in SQL Server 2016
FIX: An access violation occurs when you execute DBCC CHECKDB on a database in SQL Server 2016
FIX: A dump file is generated when you enable system-versioning on a table in SQL Server 2016
An error occurs when you use ODBC driver to retrieve sql_variant data in SQL Server 2014 or 2016
SQL Server 2016 SP1 Cumulative Update 2 (Build 13.0.4422), 101 total public hot fixes
FIX: Memory leak when you query sys.dm_sql_referenced_entities view in SQL Server 2014 or 2016
FIX: Cannot insert data into a table that uses a clustered columnstore index in SQL Server 2016
FIX: Cannot install SQL Server R Services during an offline installation of SQL Server 2016 updates
Improvement: Enhance VDI Protocol with VDC_Complete command in SQL Server
FIX: Wrong number of rows returned in sys.partitions for Columnstore index in SQL Server 2016
FIX: Data type conversion error in a query that involves a column store index in SQL Server 2016
FIX: Deadlock causes deferred transaction on the secondary replica in an Always On environment
SQL Server crashes with an access violation when you use the TRY…CATCH construct for bulk copy
Update improves DMV sys.dm_server_services and sys.dm_os_sys_info in SQL Server 2016
FIX: A memory leak occurs when SQL Server procedure cache consumes too much memory
FIX: Assert memory dump on a mirror server in SQL Server
FIX: An access violation occurs when you execute DBCC CHECKDB on a database in SQL Server 2016
FIX: Queries that run against secondary databases always get recompiled in SQL Server
FIX: Error 3628 when you create or rebuild a columnstore index in SQL Server 2016
FIX: Significantly increased PAGELATCH_EX contentions in sys.sysobjvalues in SQL Server 2016
FIX: No automatic failover after database mirroring stops unexpectedly in SQL Server
SQL Server 2016 SP1 Cumulative Update 3 (Build 13.0.4435), 70 total public hot fixes
FIX: Error occurs when you drop a subscription by using a non-sysadmin account in SQL Server
FIX: SQL Server 2016 consumes more memory when columnstore index is reorganizeda>
Update enables DML query plan to scan query memory-optimized tables in parallel in SQL Server 2016
FIX: Wrong number of rows returned in sys.partitions for Columnstore index in SQL Server 2016
FIX: A memory leak in SQLWEP causes the host process Wmiprvse.exe to crash in SQL Server
FIX: Database schema is corrupted when you restore a database from a snapshot in SQL Server
SQL Server 2016 SP1 Cumulative Update 4 (Build 13.0.4446), 49 total public hot fixes
FIX: Deadlocks occur in SSISDB when you run multiple SSIS packages in SQL Server 2014 or 2016
FIX: Data mask on a floating points column is removed unexpectedly in SQL Server 2016
FIX: SUSER_SNAME function returns different result between SQL Server 2014 and SQL Server 2016
FIX: An access violation occurs when you create an index with page compression in SQL Server
FIX: Parallel query execution returns incorrect results for merge join operations in SQL Server 2016
FIX: Assertion failure when backing up large TDE encrypted database in SQL Server
FIX: Access violation occurs when you execute a query in SQL Server 2016
FIX: “EXCEPTION_INVALID_CRT_PARAMETER” error with BULK INSERT statement in SQL Server 2016
Update adds the “CLR strict security” feature to SQL Server 2016
FIX: Change Data Capture stops working after a recent cumulative update for SQL Server is installed
SQL Server 2016 SP1 Cumulative Update 5 (Build 13.0.4451), 44 total public hot fixes
FIX: Automatic seeding in Availability Groups randomly causes error 41169 in SQL Server 2016
FIX: Log chain break in the “managed_backup.fn_available_backups” table in SQL Server 2016
FIX: Database mirroring failover fails with error 3456 in SQL Server 2016
FIX: Backup of availability database via VSS-based application may fail in SQL Server 2016
FIX: Timeout when you back up a large database to URL in SQL Server 2014 or 2016
FIX: Memory use with many databases greater in SQL Server 2016 than earlier versions
FIX: Query that joins a view and contains UNION ALL slow in SQL Server 2016
FIX: SQL Server Managed Backups do not run a scheduled log backup in SQL Server 2016
SQL Server 2016 SP1 Cumulative Update 6 (Build 13.0.4457), 43 total public hot fixes
FIX: Memory use with many databases greater in SQL Server 2016 than earlier versions
FIX: Assertion occurs on accessing memory-optimized table through MARS
FIX: In-Memory database restore fails with errors in SQL server 2016
FIX: Access violation occurs when SQL Server 2016 tries to start Query Store Manager during startup
Hotfix: Alert Engine reads entire Application Event Log and sends aler
FIX: Access violation for DMV queries run against a distributed availability group in SQL Server
FIX: Distributed Transactions in an AG database fails after restarting in SQL Server 2016
FIX: DMV sys.dm_os_windows_info returns wrong values for Windows 10 and Windows server 2016
FIX: Data retrieval queries using non-clustered index seek take much longer in SQL Server
FIX: Access violation on primary replica of AlwaysOn AG in SQL Server 2016
FIX: Access violation for spatial datatypes query via linked server in SQL Server
FIX: Thread pool exhaustion and CMEMTHREAD contention in AAG with data seeding in SQL Server 2016
FIX: Errors 33111 and 3013 when you back up a TDE encrypted database in SQL Server
SQL Server 2016 SP1 Cumulative Update 7 (Build 13.0.4466), 23 total public hot fixes
FIX: Error when you rebuild a single partition of an index online in SQL Server 2014 and 2016
FIX: Heavy tempdb contention occurs in SQL Server 2016
SQL Server 2016 SP1 Cumulative Update 8 (Build 13.0.4474), 41 total public hot fixes
FIX: It takes a long time to restore a TDE encrypted database backup in SQL Server
Update to support partition elimination in query plans that have spatial indexes in SQL Server 2016
FIX: DMV sys.dm_os_windows_info returns wrong values for Windows 10 and Windows Server 2016
FIX: Intermittent 9004 error when a backup is restored via Standby Mode in SQL Server 2014
FIX: Heavy tempdb contention occurs in SQL Server 2016
FIX: Random access violations occur when you run monitoring stored procedure in SQL Server 2016
SQL Server 2016 SP1 Cumulative Update 9 (Build 13.0.4502), 25 total public hot fixes
PFS page round robin algorithm improvement in SQL Server 2016
FIX: Restore of a TDE compressed backup is unsuccessful when using the VDI client
FIX: Performance is slow for an Always On AG when you process a read query in SQL Server
FIX: Database cannot be dropped after its storage is disconnected and reconnected in SQL Server
FIX: TDE enabled database backup with compression causes database corruption in SQL Server 2016
SQL Server 2016 SP1 Cumulative Update 10 (Build 13.0.4514), 21 total public hot fixes
FIX: Parallel redo does not work after you disable Trace Flag 3459 in an instance of SQL Server
FIX: VSS backup fails in secondary replica of Basic Availability Groups in SQL Server 2016
FIX: Assertion error occurs when you add a database to an instance of SQL Server 2016
Transparent Data Encryption added for Log Shipping in SQL Server 2016 and 2017
FIX: Leakage of sensitive data occurs when you enable DDM function in SQL Server 2016 and 2017
FIX: Error 19432 when you use Always On Availability Groups in SQL Server
SQL Server 2016 SP1 Cumulative Update 11 (Build 13.0.4528), 8 total public hot fixes
FIX: A memory leak occurs in sqlwepxxx.dll causes the WmiPrvSe.exe process to crash
SQL Server 2016 SP1 Cumulative Update 12 (Build 13.0.4541), 16 total public hot fixes
FIX: Overestimations when using default Cardinality Estimator to query table with many null values
FIX: Access violation occurs in Distribution Agent in SQL Server 2016 and 2017
FIX: Assertion error occurs during restore of TDE compressed backups in SQL Server 2016
FIX: Peer-to-peer replication fails in SQL Server 2016 when the host name is not uppercase
FIX: Error 41168 occurs when you try to alter DAG SEEDING_MODE in SQL Server 2016
SQL Server 2016 SP1 Cumulative Update 13 (Build 13.0.4550), 9 total public hot fixes
SQL Server 2016 SP1 Cumulative Update 14 (Build 13.0.4560), 7 total public hot fixes
FIX: Intermittent failures when you back up to Azure storage from SQL Server 2014, 2016 and 2017
SQL Server 2016 SP1 Cumulative Update 15 (Build 13.0.4574), 7 total public hot fixes
FIX: Filtered index may be corrupted when you rebuild index in parallel in SQL Server 2014 and 2016
FIX: Log reader agent may fail after AG failover with TF 1448 enabled in SQL Server 2014 and 2016
The reason that I put these lists together is that I want to convince more people to try to keep their SQL Server instances up to date with Cumulative Updates. If you do the proper testing, planning and preparation, I think the risks from installing a SQL Server Cumulative Update are quite low (despite the occasional issues that people run into).
If you install a Cumulative Update or Service Pack on a Production system the day it is released, after doing no testing whatsoever, and then run into problems (and don’t have a plan on how to recover), then I don’t have that much sympathy for you.
On the other hand, if you go through a thoughtful and thorough testing process, and you have a plan for how you will install the CU, and how you would recover if there were any problems, then you are much less likely to have any problems. You are also much more likely to avoid the issues that are fixed by all of the included fixes in the new build of SQL Server. You have done your job as a good DBA.
Finally, Microsoft has changed their official guidance about whether you should install SQL Server Cumulative Updates. As they say, “we now recommend ongoing, proactive installation of CU’s as they become available”.
The post Performance and Stability Related Fixes in Post-SQL Server 2016 SP1 Builds appeared first on Glenn Berry.
]]>The post Performance and Stability Related Fixes in Post-SQL Server 2014 SP2 Builds appeared first on Glenn Berry.
]]>If you are running on the SQL Server 2014 SP2 branch, I really think you should be running the latest SQL Server 2014 SP2 Cumulative Update. In fact, if you are on SQL Server 2014, you should actually be on the SP3 branch, on the final CU, which is SP3 CU4.
Table 1 shows the SQL Server 2014 SP2 CU builds that have been released.
| Build | Description | Release Date |
| 12.0.5511 | SP2 CU1 | August 25, 2016 |
| 12.0.5522 | SP2 CU2 | October 17, 2016 |
| 12.0.5538 | SP2 CU3 | December 19, 2016 |
| 12.0.5540 | SP2 CU4 | February 21, 2017 |
| 12.0.5546 | SP2 CU5 | April 17, 2017 |
| 12.0.5553 | SP2 CU6 | July 17, 2017 |
| 12.0.5556 | SP2 CU7 | August 28, 2017 |
| 12.0.5557 | SP2 CU8 | October 16, 2017 |
| 12.0.5563 | SP2 CU9 | December 18, 2017 |
| 12.0.5571 | SP2 CU10 | January 16, 2018 |
| 12.0.5579 | SP2 CU11 | March 19, 2018 |
| 12.0.5589 | SP2 CU12 | June 18, 2018 |
| 12.0.5590 | SP2 CU13 | August 27, 2018 |
| 12.0.5600 | SP2 CU14 | October 15, 2018 |
| 12.0.5605 | SP2 CU15 | December 12, 2018 |
| 12.0.5626 | SP2 CU16 | February 19, 2019 |
| 12.0.5632 | SP2 CU17 | April 16, 2019 |
| 12.0.5687 | SP2 CU18 | July 29, 2019 |
Table 1: SQL Server 2014 SP2 CU Builds
You can follow the KB article link below to see all of the CU builds for the SQL Server 2014 RTM, SQL Server 2014 SP1, SQL Server 2014 SP2, and SQL Server 2014 SP3 branches.
Like I have done for other versions and branches of SQL Server, I decided to scan the hotfix list for all of the Cumulative Updates in the SP2 branch, looking for performance and general reliability-related fixes for the SQL Server Database Engine. I came up with the list below, but this listing is completely arbitrary on my part. You may come up with a completely different list, based on what specific SQL Server 2014 features you are using.
Here are the fixes in the SP2 branch:
SQL Server 2014 SP2 Cumulative Update 1 (Build 12.0.5511), 39 total public hot fixes
FIX: Incorrect results when you use a LIKE operator and an “ss” wildcard in SQL Server 2014 or 2016
FIX: Memory leak on the AlwaysOn secondary replica when change tracking is enabled in SQL Server
“The log backup chain is broken” error when the log backup process fails in SQL Server
FIX: Error 1478 when you add a database back to the AlwaysOn availability group in SQL Server
FIX: Service Broker UCS task leaks memory in SQL Server 2014
Operating system error 32 when you restore a database in SQL Server 2014
SQL Server 2014 SP2 Cumulative Update 2 (Build 12.0.5522), 17 total public hot fixes
SQL Server 2012 crashes with an access violation when you use the TRY…CATCH construct for bulk copy
FIX: Queries that use CHANGETABLE use much more CPU after you install SQL Server 2014 SP1 CU6
FIX: Cannot uninstall service packs for SQL Server 2014 after a cumulative update is installed
A memory leak occurs when you use Azure Storage in SQL Server 2014 or 2016
SQL Server 2014 SP2 Cumulative Update 3 (Build 12.0.5538), 37 total public hot fixes
FIX: Deadlock causes deferred transaction on the secondary replica in an Always On environment
A memory leak occurs when you use Azure Storage in SQL Server 2014 or 2016
Unexpected growth of tempdb data files when using SQL Server Service Broker
Updates to DBCC CLONEDATABASE functionality in SQL Server 2014
FIX: Queries that run against secondary databases always get recompiled in SQL Server
FIX: No automatic failover after database mirroring stops unexpectedly in SQL Server 2012 or 2014
SQL Server 2014 SP2 Cumulative Update 4 (Build 12.0.5540), 25 total public hot fixes
FIX: Memory is paged out when columnstore index query consumes lots of memory in SQL Server 2014
FIX: An Always On secondary replica goes into a disconnecting state
FIX: Cannot connect to a named instance after failover on a mirror server in SQL Server 2016 or 2014
FIX: Fails to execute the DBCC CLONEDATABASE command on an in-place upgrade instance of SQL Server
SQL Server 2014 SP2 Cumulative Update 5 (Build 12.0.5546), 24 total public hot fixes
Update improves handling of documents too large for Full-Text Search indexing in SQL Server
FIX: Many HkHostLogCheckpointRecord() messages are logged in the SQL Server error log
SQL Server 2014 SP2 Cumulative Update 6 (Build 12.0.5553), 29 total public hot fixes
FIX: Change Data Capture stops working after a recent cumulative update for SQL Server is installed
Update adds the “CLR strict security” feature to SQL Server 2016
FIX: An access violation occurs when you create an index with page compression in SQL Server
FIX: Fails to resume a suspended availability database after a write error in SQL Server 2014
FIX: Unable to drop stored procedure execution article from P2P publication in SQL Server 2014
FIX: Timeout error when you backup a large database to URL in SQL Server 2014
FIX: Error 574 when you try to install Service Pack 2 for SQL Server 2014
FIX: “Non-yielding Scheduler” condition occurs on spinlock contention in Microsoft SQL Server 2014
SQL Server 2014 SP2 Cumulative Update 7 (Build 12.0.5556), 12 total public hot fixes
FIX: “Non-yielding Scheduler” condition occurs for query with many expressions in SQL Server 2014
FIX: Access violation for spatial datatypes query via linked server in SQL Server 2014
SQL Server 2014 SP2 Cumulative Update 8 (Build 12.0.5557), 8 total public hot fixes
FIX: Warning and incorrect computed column results after applying hotfix 3213683 and trace flag 176
FIX: Change tracking manual cleanup fails with table non-existence error in SQL Server 2014 and 2017
SQL Server 2014 SP2 Cumulative Update 9 (Build 12.0.5563), 8 total public hot fixes
FIX: “Invalid comparison due to NO COLLATION” retail assert occurs in SQL Server 2014
FIX: Error when you rebuild a single partition of an index online in SQL Server 2014
SQL Server 2014 SP2 Cumulative Update 10 (Build 12.0.5571), 5 total public hot fixes
FIX: Intermittent 9004 error when a backup is restored with Standby Mode in SQL Server 2014
SQL Server 2014 SP2 Cumulative Update 11 (Build 12.0.5579), 10 total public hot fixes
FIX: It takes a long time to restore a TDE encrypted database backup in SQL Server
FIX: AG failover occurs after a latch time-out when you use SQL Server 2014
FIX: Significantly increased PAGELATCH_EX contentions in sys.sysobjvalues in SQL Server 2014
FIX: SQL Server does not detect a deadlock condition when you run a merge statement
SQL Server 2014 SP2 Cumulative Update 12 (Build 12.0.5589), 16 total public hot fixes
FIX: Database can’t be dropped after its storage is disconnected and reconnected in SQL Server
FIX: A memory leak occurs in sqlwepxxx.dll causes the WmiPrvSe.exe process to crash
FIX: Worker thread hangs after another thread is aborted when running a parallel query in SQL Server
SQL Server 2014 SP2 Cumulative Update 13 (Build 12.0.5590), 4 total public hot fixes
FIX: Access violation when you query the sysmembers system table in SQL Server
SQL Server 2014 SP2 Cumulative Update 14 (Build 12.0.5600), 6 total public hot fixes
SQL Server 2014 SP2 Cumulative Update 15 (Build 12.0.5605), 7 total public hot fixes
FIX: Intermittent failures when you back up to Azure storage from SQL Server
FIX: I/O errors on a BPE file causes buffer time out in SQL Server
FIX: Internal error messages when you update a FILESTREAM tombstone system table in SQL Server
FIX: Out of memory error occurs when Database Node Memory (KB) drops below 2% in SQL Server 2014
FIX: “Non-yielding” error occurs when there is a heavy use of prepared statements in SQL Server 2014
SQL Server 2014 SP2 Cumulative Update 16 (Build 12.0.5626), 3 total public hot fixes
FIX: Assertion occurs when a parallel query deletes from a Filestream table
FIX: Filtered index may be corrupted when you rebuild index in parallel in SQL Server 2014
SQL Server 2014 SP2 Cumulative Update 17 (Build 12.0.5632), 3 total public hot fixes
FIX: Fail to join the secondary replica if the database has a defunct filegroup in SQL Server 2014
SQL Server 2014 SP2 Cumulative Update 18 (Build 12.0.5687), 4 total public hot fixes
The reason that I put these lists together is that I want to convince more people to try to keep their SQL Server instances up to date with Cumulative Updates. If you do the proper testing, planning and preparation, I think the risks from installing a SQL Server Cumulative Update are quite low (despite the occasional issues that people run into).
If you install a Cumulative Update or Service Pack on a Production system the day it is released, after doing no testing whatsoever, and then run into problems (and don’t have a plan on how to recover), then I don’t have that much sympathy for you.
On the other hand, if you go through a thoughtful and thorough testing process, and you have a plan for how you will install the CU, and how you would recover if there were any problems, then you are much less likely to have any problems. You are also much more likely to avoid the issues that are fixed by all of the included fixes in the new build of SQL Server. You have done your job as a good DBA.
Finally, Microsoft has changed their official guidance about whether you should install SQL Server Cumulative Updates. As they say, “we now recommend ongoing, proactive installation of CU’s as they become available”.
The post Performance and Stability Related Fixes in Post-SQL Server 2014 SP2 Builds appeared first on Glenn Berry.
]]>The post Performance and Stability Related Fixes in Post-SQL Server 2014 SP1 Builds appeared first on Glenn Berry.
]]>Table 1 shows the SQL Server 2014 SP1 CU builds that have been released so far.
| Build | Description | Release Date |
| 12.0.4416 | SP1 CU1 | June 19, 2015 |
| 12.0.4422 | SP1 CU2 | August 17, 2015 |
| 12.0.4425 | SP1 CU3 | October 19, 2015 |
| 12.0.4436 | SP1 CU4 | December 21, 2015 |
| 12.0.4439 | SP1 CU5 | February 22, 2016 |
| 12.0.4457 | SP1 CU6 | May 30, 2016 |
| 12.0.4459 | SP1 CU7 | June 20, 2016 |
| 12.0.4468 | SP1 CU8 | August 15, 2016 |
| 12.0.4474 | SP1 CU9 | October 17, 2016 |
| 12.0.4491 | SP1 CU10 | December 19, 2016 |
| 12.0.4502 | SP1 CU11 | February 21, 2017 |
| 12.0.4511 | SP1 CU12 | April 17, 2017 |
| 12.0.4522 | SP1 CU13 | July 17, 2017 |
Table 1: SQL Server 2014 SP1 CU Builds
You can follow the KB article link below to see all of the CU builds for all of SQL Server 2014 branches.
Like I have done for other versions and branches of SQL Server, I decided to scan the hotfix list for all of the Cumulative Updates in the RTM branch, looking for performance and general reliability-related fixes for the SQL Server Database Engine. I came up with the list below, but this listing is completely arbitrary on my part. You may come up with a completely different list, based on what specific SQL Server 2014 features you are using.
Here are the fixes in the SP1 branch:
SQL Server 2014 SP1 Cumulative Update 1 (Build 12.0.4416), 112 total public hot fixes
FIX: A SELECT query that’s run as a parallel batch-mode scan triggers a deadlock in SQL Server 2014
FIX: Complex parallel query does not respond in SQL Server 2012 or SQL Server 2014
FIX: An I/O error that occurs on BPE files causes SQL Server 2014 to disable BPE
FIX: Access violation occurs when you connect to an instance of SQL Server 2014
Large query compilation waits on RESOURCE_SEMAPHORE_QUERY_COMPILE in SQL Server 2014
FIX: Memory leak occurs when you run DBCC CHECKDB against a database in SQL Server 2014
FIX: Error 35377 when you run a parallel query that contains MERGE statements in SQL Server 2014
SQL Server 2014 SP1 Cumulative Update 2 (Build 12.0.4422), 44 total public hot fixes
SQL Server 2014 SP1 Cumulative Update 3 (Build 12.0.4425), 36 total public hot fixes
FIX: Rare incorrect result occurs when you run parallel query in SQL Server 2012 or SQL Server 2014
FIX: Error 602 when you run a stored procedure repeatedly in SQL Server 2012 or SQL Server 2014
FIX: Access violations when you use the FileTable feature in SQL Server 2012 or SQL Server 2014
FIX: Queries take longer time to compile in SQL Server 2014 than in earlier versions
FIX: 100% CPU usage occurs when in-memory OLTP database is in recovery state in SQL Server 2014
FIX: Backup operation fails in a SQL Server database after you enable change tracking
SQL Server 2014 SP1 Cumulative Update 4 (Build 12.0.4436), 36 total public hot fixes
FIX: Can’t create database snapshot when you use DBCC CHECKDB in SQL Server 2014
FIX: Access violation occurs when you update compressed data in SQL Server 2014
FIX: Log shipping restore job takes a long time on the secondary server in SQL Server 2014
FIX: Query stops responding in SQL Server 2014 that starts with trace flag 2430 as startup parameter
FIX: An access violation occurs when you use the TDE and BPE features in SQL Server 2014
FIX: DBCC CHECKDB/CHECKTABLE command may take longer in SQL Server 2012 or SQL Server 2014
FIX: Temporary files that are created by DBCC aren’t deleted when SQL Server is restarted
SQL Server 2014 SP1 Cumulative Update 5 (Build 12.0.4439), 21 total public hot fixes
FIX: Access violation occurs when you use the ODBC Driver11 in SQL Server 2014
FIX: It takes a long time to install service packs or cumulative updates in SQL Server 2014
FIX: Error when you use the replication feature in SQL Server 2014
FIX: Assertion failure occurs when you run a query in SQL Server 2014
SQL Server 2014 SP1 Cumulative Update 6 (Build 12.0.4457), 46 total public hot fixes
FIX: Canceling a backup task crashes SQL Server 2014
FIX: Memory corruption causes an access violation in an instance of SQL Server 2014
SQL Server 2014 SP1 Cumulative Update 7 (Build 12.0.4459), 32 total public hot fixes
FIX: An access violation occurs when you use the TDE and BPE features in SQL Server 2014
FIX: SQLDiag fails with function 87 error in a SQL AlwaysOn availability group
FIX: Incorrect results when you use a LIKE operator and an “ss” wildcard in SQL Server 2014
FIX: High CPU usage on SQL queries after install SQL Server 2014 Service Pack 1
FIX: Change tracking cleanup task fails if another database is offline in SQL Server 2014
SQL Server 2014 doesn’t start after you configure the tempdb database to use a very small log file
FIX: Assertion failures after you install deprecated Cumulative Update 6 for SQL Server 2014 SP1
Query plan generation improvement for some columnstore queries in SQL Server 2014
FIX: “Non-yielding Scheduler” condition occurs when you run a query in SQL Server 2014
SQL Server 2014 SP1 Cumulative Update 8 (Build 12.0.4468), 39 total public hot fixes
FIX: sys.dm_db_index_usage_stats missing information after index rebuild on SQL Server 2012 or 2014
A memory leak occurs when you use Azure Storage in SQL Server 2014
FIX: Error 1478 when you add a database back to the AlwaysOn availability group in SQL Server
Operating system error 32 when you restore a database in SQL Server 2014
FIX: Deadlock occurs when you acquire a SCH-M lock and ALTER PARTITION in SQL Server 2014
FIX: Queries always get recompiled on the secondary databases in SQL Server 2014
FIX: Garbage collection in In-Memory OLTP may cause “non-yielding scheduler” in SQL Server 2014
FIX: Query runs slowly when SQL Server uses hash aggregate in the query plan
FIX: Memory leak on the AlwaysOn secondary replica when change tracking is enabled in SQL Server
SQL Server 2014 SP1 Cumulative Update 9 (Build 12.0.4474), 13 total public hot fixes
Statistics removed after rebuilding the index on a partitioned table in SQL Server
FIX: Queries that use CHANGETABLE use much more CPU after you install SQL Server 2014 SP1 CU6
FIX: Cannot uninstall service packs for SQL Server 2014 after a cumulative update is installed
SQL Server 2014 SP1 Cumulative Update 10 (Build 12.0.4491), 27 total public hot fixes
SQL Server crashes with an access violation when you use the TRY…CATCH construct for bulk copy
FIX: Memory is paged out when columnstore index query consumes lots of memory in SQL Server 2014
Unexpected growth of tempdb data files when using SQL Server Service Broker
FIX: No automatic failover after database mirroring stops unexpectedly in SQL Server 2012 or 2014
SQL Server 2014 SP1 Cumulative Update 11 (Build 12.0.4502), 14 total public hot fixes
FIX: An Always On secondary replica goes into a disconnecting state
Update improves handling of documents too large for Full-Text Search indexing in SQL Server 2014
FIX: Cannot connect to a named instance after failover on a mirror server in SQL Server 2016
FIX: Assert memory dump on a mirror server in SQL Server 2012
SQL Server 2014 SP1 Cumulative Update 12 (Build 12.0.4511), 12 total public hot fixes
SQL Server 2014 SP1 Cumulative Update 13 (Build 12.0.4522), 11 total public hot fixes
FIX: Change Data Capture stops working after a recent cumulative update for SQL Server is installed
The reason that I put these lists together is that I want to convince more people to try to keep their SQL Server instances up to date with Cumulative Updates. If you do the proper testing, planning and preparation, I think the risks from installing a SQL Server Cumulative Update are quite low (despite the occasional issues that people run into).
If you install a Cumulative Update or Service Pack on a Production system the day it is released, after doing no testing whatsoever, and then run into problems (and don’t have a plan on how to recover), then I don’t have that much sympathy for you.
On the other hand, if you go through a thoughtful and thorough testing process, and you have a plan for how you will install the CU, and how you would recover if there were any problems, then you are much less likely to have any problems. You are also much more likely to avoid the issues that are fixed by all of the included fixes in the new build of SQL Server. You have done your job as a good DBA.
Finally, Microsoft has changed their official guidance about whether you should install SQL Server Cumulative Updates. As they say, “we now recommend ongoing, proactive installation of CU’s as they become available”.
The post Performance and Stability Related Fixes in Post-SQL Server 2014 SP1 Builds appeared first on Glenn Berry.
]]>The post Most Recent Cumulative Updates for SQL Server 2008-2014 appeared first on Glenn Berry.
]]>SQL Server 2014 RTM CU2 (12.0.2370) released on June 27, 2014
Microsoft has now released the second cumulative update for SQL Server 2014 RTM, which has 48 hotfixes by my count from the KB article. These include most of the hotfixes from SQL Server 2012 through SP1 CU10. If you are getting ready to deploy a new SQL Server 2014 instance, I really think you want to be on SQL Server 2014 RTM CU2.
SQL Server 2012 RTM CU11 (11.0.2424) released on December 16, 2013 (this is the last one for the RTM branch)
SQL Server 2012 SP1 CU10 (11.0.3431) released on May 19, 2014 (On SQL Server 2012, this is where you want to be, in my opinion)
SQL Server 2012 SP2 RTM (11.0.5058) released on June 19, 2014 (I would wait for SQL Server 2012 SP2 CU1 before you move to this branch)
If you are on SQL Server 2012, only Service Pack 1 and Service Pack 2 are still officially a “supported service pack”. The RTM branch is no longer a “supported service pack”.
SQL Server 2008 R2 SP2 CU12 (10.50.4305) released on April 21, 2014
If you are on SQL Server 2008 R2, only Service Pack 2 is still a “supported service pack”. All other branches are retired.
SQL Server 2008 SP3 CU17 (10.0.5861) released on May 19, 2014 (this is the final CU for SQL Server 2008 SP3)
If you are on SQL Server 2008, only Service Pack 3 is still a “supported service pack”. All other branches are retired.
For a number of months, I was very curious about whether there would be a SQL Server 2008 SP4 and/or a SQL Server 2008 R2 SP3 before both SQL Server 2008 and 2008 R2 fall out of mainstream support on July 8, 2014? Especially for people who don’t believe in deploying cumulative updates, the SQL Server 2008 SP3 RTM build and the SQL Server 2008 R2 SP2 RTM build are going to be quite ancient (and missing a lot of very important fixes) by July 8, 2014.
June 2, 2014 Update: On May 29, Microsoft announced that there will be final Service Packs for both SQL Server 2008 and SQL Server 2008 R2, that will be released some time after July 8, 2014. This is very welcome news that I really appreciate!
So, to recap, if you are getting ready to deploy SQL Server 2014, you should install SQL Server 2014 RTM CU2. If you are on SQL Server 2012, you should be on the SP1 branch by now (even though SP2 is now available). If you are on SQL Server 2008 R2, you should be on the SP2 branch, since SP1 and RTM are retired. If you are on SQL Server 2008, you should be on the SP3 branch, since all previous branches are retired. All of SQL Server 2005 is out of mainstream support, but if you are still on SQL Server 2005, you should be on SP4.
The post Most Recent Cumulative Updates for SQL Server 2008-2014 appeared first on Glenn Berry.
]]>The post Most Recent Cumulative Updates for SQL Server appeared first on Glenn Berry.
]]>SQL Server 2012 RTM CU10 (11.0.2420) released on October 21, 2013
SQL Server 2012 SP1 CU6 (11.0.3381) released on September 16, 2013
If you are on SQL Server 2012, both RTM and Service Pack 1 are still a “supported service pack”, but this will change pretty soon. I am also wondering roughly when SQL Server 2012 SP2 is going to be released. In the past, we have often seen public CTPs for SPs, but so far, I have not heard of one for SQL Server 2012 SP2. Despite this, I am thinking it should be pretty soon, probably before the end of 2013.
I do think that the SQL Server 2012 code base has settled down quite a bit, since we are not typically seeing 40-50 hotfixes in every single CU. There were only four hot fixes in SQL Server 2012 RTM CU10, so that reinforces my opinion that SQL Server 2012 SP1 CU6 is where you should be now, especially since the RTM branch will be retired pretty soon. I really hope that Microsoft will choose to get the SQL Server 2012 SP1 and SP2 branches synchronized as far as CU release dates go.
In my fantasy world, here is what would happen for SQL Server 2012:
“SQL Server 2012 SP2 RTM is released on November 5, 2013, and then SQL Server 2012 SP1 CU7 and SQL Server 2012 SP2 CU1 are both released on November 19, 2013. This allows people to move to the SP2 branch and not be behind or out of synch with the SP1 branch.”
SQL Server 2008 R2 SP2 CU9 (10.50.4295) released on October 28, 2013
If you are on SQL Server 2008 R2, only Service Pack 2 is still a “supported service pack”. All other branches are retired.
SQL Server 2008 SP3 CU13 (10.0.5846) released on September 16, 2013
If you are on SQL Server 2008, only Service Pack 3 is still a “supported service pack”. All other branches are retired.
I am still curious about whether there will be a SQL Server 2008 SP4 and/or a SQL Server 2008 R2 SP3 before both SQL Server 2008 and 2008 R2 fall out of mainstream support on July 8, 2014? Especially for people who don’t believe in deploying cumulative updates, the SQL Server 2008 SP3 RTM build and the SQL Server 2008 R2 SP2 RTM build are going to be quite ancient (and missing a lot of important fixes) by next July.
So, to recap, if you are on SQL Server 2012, you should be on the SP1 branch by now (even though RTM is still supported). If you are on SQL Server 2008 R2, you should be on the SP2 branch, since SP1 and RTM are retired. If you are on SQL Server 2008, you should be on the SP3 branch, since all previous branches are retired. All of SQL Server 2005 is out of mainstream support, but if you are still on SQL Server 2005, you should be on SP4.
The post Most Recent Cumulative Updates for SQL Server appeared first on Glenn Berry.
]]>The post Performance Related Fixes in Post-SQL Server 2008 R2 Service Pack 1 Builds appeared first on Glenn Berry.
]]>As Microsoft releases new Service Packs for SQL Server, they eventually “retire” previous branches of code for that particular major release of SQL Server. When a new major version of SQL Server (such as SQL Server 2008 R2) is released, that initial build (which is what comes on the installation media unless you have built a slipstream installation) is called the release-to-manufacturing (RTM) build. Eight weeks after the RTM build, Microsoft will release a rollup of hot fixes called a Cumulative Update (CU). A SQL Server CU typically has anywhere from about ten to fifty hotfixes. Cumulative Updates are not fully regression tested like a full Service Pack is, but I have had very good luck with Cumulate Updates over the years. The first CU for the SQL Server 2008 RTM branch was called SQL Server 2008 RTM CU1. Every eight weeks after that, Microsoft will release another CU for that RTM branch.
Eventually, Microsoft will release Service Pack 1 for that major version of SQL Server, which starts another separate release branch of the product. Eight weeks after that, the first CU for that new Service Pack will be released. So for example, you would have SQL Server 2008 R2 SP1 RTM, and then eight weeks later, you would have SQL Server 2008 R2 SP1 CU1. Eventually, Microsoft will release Service Pack 2 for that major Version of SQL Server, which starts another separate release branch of the product. When SP2 is released, the original RTM release branch is retired, and the entire RTM release branch becomes an “unsupported service pack”, regardless of what RTM CU you have installed. That means you will have to upgrade to SP1 or SP2 to be on a supported service pack.
As a database professional, you need to be aware of how this servicing system works, and what exact build of SQL Server that you are running on your various servers. Then you can make more informed decisions on when you want to plan, test, and implement SQL Server updates (whether you use only Service Packs or both SPs and Cumulative Updates), so that your servers are on a fully supported build of SQL Server. I also firmly believe that you will have fewer problems over time if you make a concerted effort to stay on a current build. Going through the planning and testing effort required to install a Service Pack or Cumulative Update on a production server is a good exercise for you and your organization. It exercises your testing plan and your HA procedures, and it gives you more experience rolling out updates.
I recently was asked for some specific reasons why someone should upgrade from SQL Server 2008 R2 SP1 RTM (10.50.2500) to SQL Server 2008 R2 SP2 CU3 (10.50.4266). I decided to look through the Knowledge Base (KB) articles for every single Cumulative Update released after SQL Server 2008 R2 SP1 RTM was released, looking for specific hotfixes that seemed to affect database engine performance or basic reliability. I went from SQL Server 2008 R2 SP1 CU1 through CU7, then I jumped to SQL Server 2008 R2 SP2 CU2 and then finally to SQL Server 2008 R2 SP2 CU3. I did it this way to avoid overlap between the two branches.
You can look at the KB article list for each Service Pack to put together your own list of “important” fixes based on what features of SQL Server you are using, using the links below:
Microsoft SQL Server 2008 R2 Cumulative Update KB Article Lists
The SQL Server 2008 R2 builds that were released after SQL Server 2008 R2 was released
Here are all of the Cumulative Updates that I looked at, with the relevant fixes listed for each one. Keep in mind that Cumulative Updates are actually cumulative, meaning that a later CU will include all of the hotfixes from all of the previous cumulative updates. In this scenario, SQL Server 2008 R2 SP1 CU5 is synchronized with SQL Server 2008 R2 SP2 RTM, which is why I jump from SP1 CU7 to SP2 CU2.
SQL Server 2008 R2 SP1 CU1 (10.50.2769.0)
SQL Server 2008 R2 SP1 CU2 (10.50.2772.0)
SQL Server 2008 R2 SP1 CU3 (10.50.2789.0)
SQL Server 2008 R2 SP1 CU4 (10.50.2796.0)
FIX: ghost_record_count values keep increasing in SQL Server 2008 R2
FIX: It takes a long time to restore a database in SQL Server 2008 R2
SQL Server 2008 R2 SP1 CU5 (10.50.2806.0)
FIX: Low CPU spikes at a set interval even without user activity in SQL Server 2008 R2
SQL Server 2008 R2 SP1 CU6 (10.50.2811.0)
SQL Server 2008 R2 SP1 CU7 (10.50.2817.0)
FIX: SQL Server 2008 R2 stops responding and a “Non-yielding Scheduler” error is logged
SQL Server 2008 R2 SP2 CU2 (10.50.4263.0)
SQL Server 2008 R2 SP2 CU3 (10.50.4266.0)
The post Performance Related Fixes in Post-SQL Server 2008 R2 Service Pack 1 Builds appeared first on Glenn Berry.
]]>The post How to Obtain and Install SQL Server Service Packs and Cumulative Updates appeared first on Glenn Berry.
]]>First, a few definitions:
RTM means Release to Manufacturing. It is the original, released build version of the product, i.e. what you get on the DVD or when you download the iso file from MSDN.
A Hotfix is designed to fix a single issue, usually after a case has been escalated through Microsoft CSS to the SQL Server Product Team.
A Cumulative Update is a cumulative package of hotfixes (usually 20-40) that also includes all previous cumulative updates for that Service Pack. Cumulative Updates are not fully regression tested. Cumulative Updates are released every eight weeks.
A Service Pack is a much larger collection of hotfixes that have been fully regression tested. Service Packs are typically released every 12-18 months.
When you first install a shiny new copy of SQL Server 2012 (or an earlier version of SQL Server) from the DVD that came with the box, what you have is the RTM build of that major version of SQL Server. Depending on how long ago that major version of SQL Server was released, that build of SQL Server that you just installed could be years old. I often run into production instances of SQL Server that are still running the RTM build of a particular major version of SQL Server, which in my opinion is both lazy and irresponsible. If you don’t do something about it, you could be on an “Unsupported Service Pack”, which means that you will only get limited troubleshooting support from Microsoft if you ever need to open a support case with Microsoft CSS. You are also more likely to run into issues that were fixed after the product went RTM.
Hotfixes don’t get added to SQL Server on a whim, they are only added after working with CSS and the Product Team, and convincing them that the issue that is prompting the hotfix is important enough to actually fix and release. Cumulative Updates are a collection of hotfixes over the previous eight weeks. When you look at the list of fixes for each Cumulative Update, you can determine whether they seem to address any issues that you have been experiencing in your environment. Then you can decide whether to go through the pain of getting them tested and installed. You can download Service Packs directly from Microsoft without making any special requests. Service Packs are cumulative, so you can go directly from RTM to SP4 without installing any intervening Service Packs. If you have Microsoft Update (which is a superset of Windows Update) installed on your machine, it will offer up SQL Server Service Packs as updates, but I prefer to obtain and install them myself.
Some organizations have a policy of only testing and deploying Service Packs (which Microsoft sometimes calls Public Cumulative Updates (PCU)), deciding to ignore any regular Cumulative Updates that are released between Service Packs. They argue that only Service Packs are fully regression tested by Microsoft, and that they don’t have the resources to test and certify Cumulative Updates with their applications and environments. They also argue that third party software vendors have not certified these Cumulative Updates for their products, which is another reason to skip them. Personally, I am against this approach. As I said before, you should look at the fix list for each Cumulative Update when it is released, and make the determination whether you need to install that CU. Generally speaking, I am biased towards trying to stay current on my Service Packs and CUs. Going through the functional testing of your applications for a Service Pack or Cumulative Update and periodically exercising your HA solution (you do have an HA solution) is a good exercise.
At any rate, how do you find out about these Cumulative Updates? One way is to read my blog or follow me on Twitter, since I am pretty good about finding them, and announcing them to the world. Fellow SQL Server MVP Aaron Bertrand (blog|twitter) also does a good job of spreading the word. You can also check the Microsoft SQL Server Release Services blog, and the SQL Server Solution Center.
Once you know that a CU for your major version and Service Pack of SQL Server has been released, you need to find the Knowledge Base (KB) article that lists the fixes and has the link where you can “View and request hotfix downloads”. Here is the KB for SQL Server 2012 RTM CU2. In the top left portion of the KB page, you will see the “View and request hotfix downloads” link.
Once you follow that link, you need to click on the “Show hotfixes for all platforms and languages” link in the center of the page. Otherwise, you will only see the hotfixes for the platform (x86, x64, or ia64) that you are running on the computer where your browser is running, which is probably your laptop or workstation. After you choose the correct packages (which can be confusing), you must provide a valid e-mail address, and fill in the CAPTCHA information. A few minutes after that, you will get an e-mail with a link to download a zip file with the Cumulative Update setup program. I always immediately unzip the file and save it in a directory structure like you see in Figure 1 (with further subdirectories for x86 and x64), so I don’t get confused later about which CU I am dealing with.
Figure 1: SQL Server 2012 Update Directories
Finally, after jumping through these small hoops, you are ready to install it on a test instance (which could be a virtual machine) just to make sure that the setup program works, and does not seem to break SQL Server. After this initial smoke test, you should do additional installs and further, more involved testing before you eventually deploy it to your Production environment during a scheduled maintenance window.
When it is time to deploy a CU in Production, you are looking at an outage of some duration, no matter what you do. At a minimum, the CU setup program will stop and start the SQL Server Service, and it could be stopped for several minutes while the CU installation is running. Sometimes, the CU setup program will want a reboot after it finishes, depending on what SQL Server components you are running. Making sure you are not running a local copy of SSMS on the instance that is being patched will help minimize the chance of a reboot. If you don’t have any high availability solution (such as AlwaysOn availability groups, database mirroring or fail-over clustering) in place, this outage could last anywhere from 5 to 20 minutes, which is kind of bad…
If you do have an HA solution in place, you can do a “rolling upgrade” where you upgrade the Witness, then the Mirror, and then the Principal (for mirroring) or each node in turn (with fail-over clustering), where you can install a CU with a couple of sub minute outages. Using database mirroring, my outages are typically 10-15 seconds for each failover for this type of maintenance.
The post How to Obtain and Install SQL Server Service Packs and Cumulative Updates appeared first on Glenn Berry.
]]>