Friday, January 5, 2018

Must have SQL Server 2017 hotfixes


     SQL Server 2017 is a great server but like any other application It's not perfect. I have been watching the Microsoft Support page for the available and upcoming hotfixes for SQL Server 2017. So far there are 3 Cumulative Update packages available for SQL Server 2017. I want to share some of the important fixes here. I was expecting to see more hotfixes for the Linux version but that's not the case at all, most of the hotfixes are for the Windows version.

SQL Server 2017 Analysis Services may crash in a specific situation

     This fix is in the Cumulative Update 1 for SQL Server 2017. There are not that much information about how or why it may crash. It looks like this is an issue in 2014 and 2016 versions too. Here is the link for 2014 and 2016 versions.

Incorrect behavior when you use memory-optimized tables with "where exists" statement in SQL Server 2016 or 2017

      Here is a scary one.This fix is in the Cumulative Update 1 for SQL Server 2017.  You may want to get this fix as soon as you can for sure. Here is the link from Microsoft If you want to see an example of this problem.

Returns incorrect results when computed column is queried after installing hotfix that's described in KB 3213683 and enabling TF 176 in SQL Server 2016 or 2017


      You know, I have no idea about KB3213683 hotfix. All I care is, "Incorrect Results".Here is a quick summary from Microsoft about this problem. This fix is in the Cumulative Update 1 for SQL Server 2017.
  • Assume that you are using Microsoft SQL Server 2016 or 2017. 
  • You install the Cumulative Update 2 for SQL Server 2016 SP1 or Cumulative Update 4 for SQL Server 2016 to address the issue that's described in the Knowledge Base (KB) article 3213683. 
  • You enable the Trace Flag (TF) 176 after you apply the hotfix.
  • In this situation, when you query a computed column, you may notice that incorrect results are returned. Additionally, you may receive a metadata error that resembles the following:

All transactions reported as completed even though some fail while trying to commit in SQL Server 2017

     This fix is in the Cumulative Update 1 for SQL Server 2017. Here is a quick summary of the problem from Microsoft.
  • You run Distributed Transaction Coordinator (DTC) transactions in Microsoft SQL Server 2017.
  • A transaction is started, and SQL Server successfully prepares the transaction.
  • A transaction commit request is sent to SQL Server.
  • The database that is involved in the transaction is restarted.
In this scenario, the transaction commit request from DTC fails because the database restarted. However, in some cases, SQL Server communicates to DTC that the transaction commit request was successful even though the request failed.

A deadlock condition occurs when you create a new database in SQL Server 2017

      It looks like this happens because of a background system task is running that looks for existing resumable indexes in the server. This might be an issue If you have many databases in your SQL Server 2017. This fix is in the Cumulative Update 1 for SQL Server 2017.

A data mask on a floating points column is not applied in SQL Server 2017 and SQL Server 2016

     Data Mask feature is a addition but It looks like you might not able to masked floating point columns without this fix. This fix is in the Cumulative Update 1 for SQL Server 2017

DML statements that use cascading operations fail in SQL Server 2017

  • You have tables that contain a foreign key constraint in SQL Server 2017.
  • The foreign key constraints are a temporal table that supports cascade operations.
  • The column IDs of the temporal table do not match the corresponding column IDs of the history table. For example, the temporal table has column IDs 1, 2, 3, and 4, but the history table has column IDs 1, 2, 10, and 11.
In this scenario, any DML statements that use cascading operations fail to execute.This fix is in the Cumulative Update 1 for SQL Server 2017.

Using ALTER TABLE on an in-memory optimized table crashes SQL Server 2017

      Another scary one, When you use an ALTER TABLE command on an in-memory optimized table in SQL Server 2017 on Windows, SQL Server 2017 may crash, and the database might go to a non-restorable state. This fix is in the Cumulative Update 2 for SQL Server 2017.

SQL Server 2017 cannot decrypt data encrypted by earlier versions of SQL Server by using the same symmetric key

Assume that you have a Microsoft SQL Server 2016 or an earlier version of SQL Server database that has data or objects encrypted by using symmetric key encryption. In this situation, you may be unable to decrypt the data or objects by using the same symmetric key in SQL Server 2017 on Windows, if the following conditions are true:
  • The database is restored to SQL Server 2017.
  • The existing symmetric key is dropped, and the same symmetric key is created.
Note This issue will not occur if the symmetric key from an earlier version of SQL Server isn't dropped or recreated in SQL Server 2017. This fix is in the Cumulative Update 2 for SQL Server 2017

Error 8624 when you run a query that contains a SELECT DISTINCT statement on a graph column in SQL Server 2017 on Linux or Windows

If you use SELECT DISTINCT on a graph column, you receive the following error:

Msg 8624, Level 16, State 17, Line 2
Internal Query Processor Error: The query processor could not produce a query plan. 
For more information, contact Customer Support Services.

1 comment:


  1. This is a nice article you shared great information I have read it thanks for giving such a wonderful Blog for the reader.
    SQL Azure Online Training
    Azure SQL Training
    SQL Azure Training

    ReplyDelete