This article describes Cumulative Update package 5 (CU5) for SQL Server 2019. This update contains fixes that were released after the initial release of SQL Server 2019 and updates the SQL Server and Analysis services components to the following builds.
|Component||Product version||File version|
This article also provides important information about the following situations:
- Analysis Services CU build version: Beginning in SQL Server 2017, the Analysis Services build version number and SQL Server Database Engine build version number do not match. For more information, see Verify Analysis Services cumulative update build version.
Cumulative updates (CU)
- Each new CU contains all the fixes that were included with the previous CU for the installed version of SQL Server.
- SQL Server CUs are certified to the same levels as Service Packs, and should be installed at the same level of confidence.
- Microsoft recommends ongoing, proactive installation of CUs as they become available according to these guidelines:
- Historical data shows that a significant number of support cases involve an issue that has already been addressed in a released CU.
- CUs may contain added value over and above hotfixes. This includes supportability, manageability, and reliability updates.
- We recommend that you test SQL Server CUs before deploying to production environments.
How to obtain this cumulative update package for SQL Server 2019 on Windows
The following update is available from the Microsoft Download Center:
- Note Microsoft Download Center will always present the latest SQL Server 2019 CU release.
- If the download page does not appear, contact Microsoft Customer Service and Support to obtain the cumulative update package.
- Note Microsoft Update Catalog contains this SQL Server 2019 CU and previously released SQL Server 2019 CU releases.
- This CU is also available through Windows Server Update Services (WSUS).
- We recommend that you always install the latest cumulative update that is available.
How to obtain this cumulative update package for SQL Server 2019 on Linux
To update SQL Server 2019 on Linux to the latest CU, you must first have the Cumulative Update repository configured. Then, update your SQL Server packages by using the appropriate platform-specific update command.
For installation instructions and direct links to the CU package downloads, see the SQL Server 2019 Release Notes.
How to obtain this cumulative update package for SQL Server 2019 Big Data Clusters (BDC)
To implement SQL Server 2019 BDC on Linux to the latest CU, see the Big Data Clusters Deployment Guidance.
Starting in SQL Server 2019 CU1, you can perform in-place upgrades for Big Data Clusters from the production supported releases (SQL Server 2019 GDR1). For more information, see How to upgrade SQL Server Big Data Clusters.
For additional information, see the Big Data Clusters release notes.
List of improvements and fixes included in this Cumulative Update
For more information about the bugs that are fixed and enhancements that are included in this cumulative update, see the following Microsoft Knowledge Base articles.
|Bug Reference||KB article number||Description||Fix area||Platform|
|13464184||SQL Server may block renaming a database when the database consists of one or more external data pool tables. If you attempt to rename the database in the scenario, you may get the following error: |
Alter database name is not supported in Big Data Cluster if the database contains external data pool tables. Drop the external data pool tables to perform the operation.
|13526183||4538581||FIX: Scalar UDF Inlining issues in SQL Server 2019||SQL Engine||All|
|13465623||4555232||FIX: Blocking may occur when Reduce Recompilations feature is enabled by default in SQL Server 2019||SQL Engine||All|
|13495908||4561915||Improvement: MAXTRANSFERSIZE no longer required to enable backup compression on TDE encrypted databases||SQL Engine||All|
|13530704||You can retrieve the SQL Server Big Data Cluster controller endpoint by querying the new property SELECT SERVERPROPERTY ('ControllerEndpoint').||SQL Engine||All|
|When shrinking a database, you may receive a database consistency error if the shrinking process encounters an IAM page that is the first and only IAM page. The symptoms may include assertions errors involving heapdataset. Confirm that you do not have any inconsistencies by executing DBCC CHECKDB after shrink operations. Applying this update will prevent future occurrence of this issue and not clean up past inconsistencies.||SQL Engine||All|
|13491460||When PolyBase queries are cancelled shortly after being scheduled, the cancellation may timeout after one hour (and fail to cancel the execution) and generate a dump of Data Movement service.||SQL Engine||All|
|13491461||When 32 or more PolyBase queries are scheduled concurrently, deadlock may occur and current and subsequent PolyBase queries may stall and may not be cancellable.||SQL Engine||All|
|13491472||When inserting into PolyBase external tables from SQL Server head data or tables, query may fail (instead of waiting for resources) if 32 PolyBase queries are currently running.||SQL Engine||All|
|13456880||Access violation exception occurs when querying sys.dm_cluster_endpoints in SQL Server 2019 on Big Data Cluster||SQL Engine||All|
|13440400||When using INSERT INTO … VALUES (…) or INSERT INTO SELECT… statement to populate Data Pool external table and if user specifies the target table columns, the list of target table column names must have the same order as the source table columns and must be the full list. Starting this cumulative update, you will get detailed new errors outlining these conditions: |
"Source column count must match the # of columns in the destination table"
"Order of source columns must match the order of columns in the destination table"
|13485259||Encrypt keyword is missing from externalaccessconfig in SQL Server 2019||SQL Engine||All|
|13530274||When you deploy SQL Server Big Data Clusters in Active Directory mode, SQL Server uses domain DNS name to create user in sql server. When the DNS name and realm name are different, failures may occur. After installing this update, SQL Server will use realm name to create user in sql server.||SQL Engine||All|
|13464137||When you use Accelerated Database Recovery feature on a database in SQL Server 2019, which is part of an Availability Group or Transactional Replication, an assertion error occurs. |
Expression: (!!lp->IsFlagOn (LogRec::LOG_TO_SLOG)) == recXdes->DoesXactSupportCTR () || lp->GetOpCode () == LOP_CTR_NEST_ABORT)
|13328542||SQL Agent jobs that require access to credentials stored in master database may not be executed when you use Always On availability group in SQL Big Data Cluster.||SQL BDC||Linux|
|13477441||4556244||FIX: Credential update frequency option is added to mssql-conf option in SQL Server 2019 on Linux||SQL Engine||Linux|
|13530877||4563007||FIX: VDI backup fails with error after applying SQL Server 2019 CU2/CU3/CU4||SQL Engine||Linux|
|13476078||4561725||Improvement: Enables custom event configuration for XEVENT Session EngineService in SQL Server 2019||SQL Engine||Linux|
|13522367||If trace flag 6424 is enabled, this fix will dump PolyBase processes if SQL Server dumps.||SQL Engine||Linux|
|13490049||For SQL Server 2019 on Linux or Big Data Cluster configured to use AD auth, you may notice a reduction in size of core dumps generated after installing the update.||SQL Engine||Linux|
|13491688||When you attempt to enable Log Shipping feature in SQL Server on Linux, you may receive an error message that resembles the following: |
Msg 32018, Level 16, State 3, Server mssql02, Procedure master.dbo.sp_add_log_shipping_secondary_primary, Line LineNumber
Log shipping is not installed on this instance.
RegQueryValueEx() returned error 2, 'The system cannot find the file specified.'
|13452649||Enable SQL Server Big Data Clusters Active Directory (AD) deployments when domain controllers are not acting as DNS servers.||SQL Engine||Linux|
|13531811||Deployment gets blocked when domain DNS name and realm name are different in SQL Server 2019 BDC||SQL Engine||Linux|
|13555838||Memory may be increased and not be released when a SQL Server outbound connect like Linked Servers fails. This may happen because a socket structure is not deallocated properly||SQL Engine||Linux|
|13531816||AD access to SQL Server 2019 BDC endpoints fails when domain DNS name and endpoint DNS names do not match||SQL Engine||Linux|
|13491009||4539023||FIX: Analysis Services Execute DDL task may fail to impersonate the user context to the remote Analysis services instance in SQL Server 2017 and 2019||Analysis Services||Windows|
|13516286||This will fix a functional results issue with the usage of NOT IN operator in DAX when OPTIMIZEDNOTINOPERATOR optimization is enabled.||Analysis Services||Windows|
|13516290||This will fix the functional issues with initial performance fix for dense measures evaluation in SuperDAXMD mode||Analysis Services||Windows|
|13516292||This will fix performance problems in PBI and Multidimensional models user scenario||Analysis Services||Windows|
|13469410||This improves MDX query execution performance against a dimension user hierarchy which is a ragged hierarchy (HideMemberIf property set ) and has deep hierarchy level in SSAS Multidimensional instance.||Analysis Services||Windows|
|13458540||When you try to build relationship on a model that contains many measures with USERELATIONSHIP function, this fix can improve the processing performance and also reduce the time of "sequence point algorithm" step.||Analysis Services||Windows|
|13455824||In explore page, you may not be able to revert the changes in changeset.||Data Quality Services (DQS)||Windows|
|13491696||"Show More Members" functionality for Explicit Hierarchies do not show more than 50 members in Master Data Services (MDS) 2019.||Data Quality Services (DQS)||Windows|
|13522235||4560051||FIX: SQL Server may still read data from secondary replica when ALLOW_CONNECTIONS is set to NO||High Availability||Windows|
|13508776||4562173||FIX: Availability Group failover generates lot of dumps as DTC support is toggled between PER_DB and NONE multiple times||High Availability||Windows|
|13498052||Fix the issue that when using ODBC components in Foreach Loop component, the ODBC component will meet "Function sequence error" in the second loop during package execution.||Integration Services||Windows|
|13477086||4556233||FIX: Setup is unable to extract product update when it is executed as LOCAL SYSTEM with UPDATE SOURCE option specified in SQL Server 2019||Setup & Install||Windows|
|13421891||4540896||FIX: Access violation may occur when enumerating files in a FileTable in SQL Server||SQL Engine||Windows|
|13491016||4552478||FIX: Distribution Agent "Parameterized values for above command" log message missing after SQL Server 2017 and 2019 upgrade||SQL Engine||Windows|
|13526208||4562618||FIX: Changes to firewall rules created when you install PolyBase in scale-out group configuration in SQL Server 2019||SQL Engine||Windows|
|13532909||4563044||FIX: Allow external resource pool to use more than one processor group in SQL Server 2019 on Windows||SQL Engine||Windows|
|13522185||4563195||FIX: sp_execute_external_script may fail to run R scripts that use the RxLocalParallel compute context or the doParallel R package in SQL Server 2019||SQL Engine||Windows|
|13472695||4563348||After upgrading SQL Server 2017 Distributor to SQL Server 2019, transactional push replication fails when subscriber is using non-default port||SQL Engine||Windows|
|13518379||4564868||FIX: Assertion exception occurs when you query the DMV sys.dm_db_file_space_usage in SQL Server 2019||SQL Engine||Windows|
|13544367||4564876||FIX: Unable to reconfigure Database mirroring when ADR is enabled and disabled in SQL Server 2019||SQL Engine||Windows|
|13468903||When FIPS is enabled on the server (using MSKB article 811833), you may not be able to use Managed Backup on a SQL Server 2019 instance and you may encounter the following error: |
Msg 45207, Level 17, State 17, Line 102
The operation failed because of an internal error. Exception has been thrown by the target of an invocation. Please retry later.
|13491012||Msg 3628 (The Database Engine may receive a floating point exception from the operating system while processing a user request) may occur during a clustered columnstore index rebuild.||SQL Engine||Windows|
|13526506||When a Windows principal that is not mapped to a specific database user accesses a database by using membership in a windows group or AAD group, a user id of 0 may be assigned to the user. When the user tries to use libraries that are installed by other dbo/sysadmin user, the user may not see any external libraries. After applying this update, a user id of 0 would have access to external libraries installed by the dbo (libraries in public scope). Since there is no database user that is mapped to the Windows principal, the user with user id 0 cannot create or install external libraries.||SQL Engine||Windows|
|13525965||You can access configurations that ship with PolyBase when specifying a DSN in the CONNECTION_OPTIONS of a Generic ODBC External Data Source definition. The options are picked up by matching the driver name used in the DSN definition. This currently applies to the following drivers: |
• IBM DB2 ODBC DRIVER
• Microsoft Spark ODBC Driver
|13502023||sys.key_constraints reports two rows for an index if the XML component id is same as the "object_id" of a primary key||SQL Engine||Windows|
|13458643||Spatial data types (Geometry and Geography) are implemented as CLR data types in SQL Server. When the application domain hosting the spatial data type structures is unloaded, the engine treats this as a schema change to the underlying objects referenced in the cursor. As a result, spatial query may fail with related error message when the schema change is detected.||SQL Engine||Windows|
|13464812||Access violation may occur when a cursor is used to retrieve data from scalar UDF and the underlying table contains primary key.||SQL Engine||Windows|
|13443318||When you have external tables on a database in SQL Server 2019 and try to publish different tables from the same database, you may receive the following error message in SSMS: |
New Publication Wizard encountered one or more errors while retrieving the list of articles on 'database name'. The list of articles may not be complete.
Additional Information: Data is Null. This method or property cannot be called on Null values.
|13525968||Disables PolyBase Generic ODBC External Data Sources' default behavior of pushing down the TOP operator and calling the SQLRowCount function||SQL Engine||Windows|
|13525977||Enables the following keys to be specified in the CONNECTION_OPTIONS of a PolyBase Generic ODBC External Data Source: |
PolyBaseOdbcSupportsRowCount, PolyBaseOdbcSupportsMetadataIdAttributes, PolyBaseOdbcSupportsBindOffset, PolyBaseQoTopPushdown
|13543133||Script "system_xevents_modification.sql" downgraded failed with error 935 which causes master database not able to recover with error 3417 and then SQL Server is unable to start||SQL Engine||Windows|
|13488605||When you use DELETE statement on a table in SQL Server, you may receive the following error message as no matching rows exists in the referenced tables. |
Msg 547, Level 16, State 0, Line LineNumber
The DELETE statement conflicted with the REFERENCE constraint "constraint name".
The conflict occurred in database "database name", table "table name", column 'column name'.
The statement has been terminated.
|13491011||Access violation occurs when a query is executed against a filtered index in SQL Server 2019||SQL performance||Windows|
Notes for this update
Hybrid environments deployment
- SQL Server failover cluster rolling update and service pack process
Note If you do not want to use the rolling update process, follow these steps to apply an update:
- Install the update on the passive node.
- Install the update on the active node (requires a service restart).
- Upgrade and update of availability group servers that use minimal downtime and data loss
Note If you enabled AlwaysOn together with SSISDB catalog, see the information about SSIS with AlwaysOn for more information about how to apply an update in these environments.
- How to apply a hotfix for SQL Server in a transactional replication and database mirroring topology
- How to apply a hotfix for SQL Server in a replication topology
- How to install service packs and hotfixes on an instance of SQL Server that is configured to use database mirroring
- Overview of SQL Server Servicing Installation
To apply this cumulative update package, you must be running SQL Server 2019.
You may have to restart the computer after you apply this cumulative update package.
To use one of the hotfixes in this package, you do not have to make any changes to the registry.
- Announcing updates to the SQL Server Incremental Servicing Model (ISM)
- SQL Server Service Packs are discontinued starting from SQL Server 2017
- Determining which version and edition of SQL Server Database Engine is running
- An Incremental Servicing Model is available from the SQL Server team to deliver hotfixes for reported problems
- Naming schema and Fix area descriptions for SQL Server software update packages
- Description of the standard terminology that is used to describe Microsoft software updates