HiveBrain v1.2.0
Get Started
← Back to all entries
patternsqlModerate

Messages about parallel redo

Submitted by: @import:stackexchange-dba··
0
Viewed 0 times
parallelmessagesaboutredo

Problem

Parallel redo is shutdown for database '' with worker pool size [2].

Parallel redo is started for database '' with worker pool size [2].

Starting up database ''


I see this on a client PC a lot in the Windows Event Viewer (Event Id 49930 or 17137). This is a regular Windows PC, not a server, with a default instance of SQL Server 2017 Express Edition and SSMS.

What is that parallel redo?

Here's the output from the error log:

```
2019-05-28 12:23:03.360 spid16s A self-generated certificate was successfully loaded for encryption.
2019-05-28 12:23:03.360 spid16s Server is listening on [ 'any' 1433].
2019-05-28 12:23:03.360 spid16s Server is listening on [ 'any' 1433].
2019-05-28 12:23:03.360 spid16s Server is listening on [ 'any' 50374].
2019-05-28 12:23:03.360 spid16s Server is listening on [ 'any' 50374].
2019-05-28 12:23:03.360 spid16s Server local connection provider is ready to accept connection on [ \\.\pipe\SQLLocal\FOLLOWIN ].
2019-05-28 12:23:03.360 spid16s Server named pipe provider is ready to accept connection on [ \\.\pipe\MSSQL$FOLLOWIN\sql\query ].
2019-05-28 12:23:03.360 spid16s Dedicated administrator connection support was not started because it is disabled on this edition of SQL Server. If you want to use a dedicated administrator connection, restart SQL Server using the trace flag 7806. This is an informational message only. No user action is required.
2019-05-28 12:23:03.360 Server SQL Server is attempting to register a Service Principal Name (SPN) for the SQL Server service. Kerberos authentication will not be possible until a SPN is registered for the SQL Server service. This is an informational message. No user action is required.
2019-05-28 12:23:03.360 spid16s SQL Server is now ready for client connections. This is an informational message; no user action is required.
2019-05-28 12:23:03.370 Server The SQL Server Network Interface library could not register the Service Principal Name (SPN) [ MSSQLSvc/pcFoo:FOLLOWIN ] for the

Solution

This is an informational log message added in SQL Server 2017 related to parallel redo for Availability Groups:

SQL Server 2016/2017: Availability group secondary replica redo model and performance

The behavior you're seeing (where redo starts and immediately stops) is normal. It's because the databases aren't participating in an Availability Group. When a database starts up, the parallel redo threads for that database start, then realize there is no availability group, then shut down.

You can prove this by turning on documented and supported global trace flag 3459 to disable parallel redo, then offlining and onlining a database. You will no longer see those messages.

See the screenshot of my error log.

I enabled the trace flag, off / onlined the database: no messages

I disabled the trace flag, off / onlined the database: messages returned

Unless you turn on that trace flag, you'll see those messages anytime a database is brought online (either because the server restarted, or the database was specifically brought offline and then back online, and probably other similar situations). However, they are not an indication of a problem.

If your database is participating in an AG, and you see these "redo is shutdown" messages throughout the day, it might be because AUTO_CLOSE is turned on (the default for user databases on Express Edition). Consider changing that setting to off, which is generally considered to be a "best practice:"

ALTER DATABASE YourDatabaseName SET AUTO_CLOSE OFF;


NOTE: these messages are NOT related to the "redo" portion of crash recovery that occurs on database startup.

Code Snippets

ALTER DATABASE YourDatabaseName SET AUTO_CLOSE OFF;

Context

StackExchange Database Administrators Q#239181, answer score: 17

Revisions (0)

No revisions yet.