Symptoms
As part of SQL Server in-memory database recovery, a parallel task is started to recover in-memory objects. In certain scenarios, this task could fail. There is a race condition during log recovery that, if the failure happens at the last phase of log redo, the parallel task misses the failure notification and does not exit. This translates to a database hang during recovery.
Note This is a transient-race condition issue, and a server restart would unblock the database.
Resolution
This fix is included in the following update for SQL Server:
Cumulative Update 8 for SQL Server 2017
This update fixes the missed notification so that the recovery task detects the failure and leaves the database as recovery failed. Then an ALTER DATABASE SET ONLINE statement can be issued to restart the database recovery process.
About SQL Server builds
Each new build for SQL Server contains all the hotfixes and security fixes that were in the previous build. We recommend that you install the latest build for your version of SQL Server:
Status
Microsoft has confirmed that this is a problem in the Microsoft products that are listed in the "Applies to" section.
References
Learn about the standard terminology that Microsoft uses to describe software updates.