It's a moderately well known fact that the SQL Writer will disappear from the list of VSS writers when a database name starts or ends with a (space) character. This can be seen in the Veeam article: SQL VSS Writer is missing: databases will be backed up in crash-consistent state and transaction log processing will be skipped, as well as in other backup vendor documentation.
Introduced in SQL Server 2019, and later added in SQL Server 2016 (13.x) Service Pack 3; and in SQL Server 2017 (14.x) starting with Cumulative Update 27, Microsoft added logging specifically for the SQL Writer service, as noted in SQL Server VSS Writer logging.
Having seen this behaviour in some production environments, I wanted to test out how this would look in the new log. After upgrading my SQL Server 2016 Express instance to SP3, and later to a fully patched 2019 instance, I identified the following.
Firstly, an example of what is logged when we query "vssadmin list writers" with the database name "SpaceExample":
[11/08/2022 09:23:33, TID 154c] ****************************************************************
[11/08/2022 09:23:33, TID 154c] ** SQLWRITER TRACING STARTED - ProcessId: 0x1510
[11/08/2022 09:23:33, TID 154c] ** Service is not running as WIDWriter.
[11/08/2022 09:23:33, TID 154c] ** SQL Writer version is 15.0.4261.1
[11/08/2022 09:23:33, TID 154c] ** MODERN LOGGER V2 ENABLED ON C:\Program Files\Microsoft SQL Server\90\Shared\SqlWriterLogger.txt
[11/08/2022 09:23:33, TID 154c] ** With TraceLevel = DEFAULT, TraceFileSizeMb = 1, ForceFlush = False
[11/08/2022 09:23:33, TID 154c] ** Recording events in Server Local Time. UTC OFFSET: 11:00
[11/08/2022 09:23:33, TID 154c] ****************************************************************
[11/08/2022 09:23:33, TID 2028] Entering SQL Writer Initialize.
[11/08/2022 10:26:05, TID 1a9c] Entering SQL Writer OnIdentify.
[11/08/2022 10:26:05, TID 1a9c] Service: MSSQL$ Server: \. Version=15
[11/08/2022 10:26:05, TID 1a9c] Instance MSSQL15. Edition: Express Edition
[11/08/2022 10:26:05, TID 1a9c] Enumerating SQL Express User Instances
At this point, the writer appears as expected.
However, once we change the database name to "SpaceExample ", restart the SQL Writer service, and query "vssadmin list writers" again, the SQL Writer is missing from the list and the following is logged:
[11/08/2022 10:26:40, TID d34] ****************************************************************
[11/08/2022 10:26:40, TID d34] ** SQLWRITER TRACING STARTED - ProcessId: 0x18cc
[11/08/2022 10:26:40, TID d34] ** Service is not running as WIDWriter.
[11/08/2022 10:26:40, TID d34] ** SQL Writer version is 15.0.4261.1
[11/08/2022 10:26:40, TID d34] ** MODERN LOGGER V2 ENABLED ON C:\Program Files\Microsoft SQL Server\90\Shared\SqlWriterLogger.txt
[11/08/2022 10:26:40, TID d34] ** With TraceLevel = DEFAULT, TraceFileSizeMb = 1, ForceFlush = False
[11/08/2022 10:26:40, TID d34] ** Recording events in Server Local Time. UTC OFFSET: 11:00
[11/08/2022 10:26:40, TID d34] ****************************************************************
[11/08/2022 10:26:40, TID 10d8] ****************************************************************
[11/08/2022 10:26:40, TID 10d8] ** SQLWRITER TRACING STARTED - ProcessId: 0x18cc
[11/08/2022 10:26:40, TID 10d8] ** Service is not running as WIDWriter.
[11/08/2022 10:26:40, TID 10d8] ** SQL Writer version is 15.0.4261.1
[11/08/2022 10:26:40, TID 10d8] ** MODERN LOGGER V2 ENABLED ON C:\Program Files\Microsoft SQL Server\90\Shared\SqlWriterLogger.txt
[11/08/2022 10:26:40, TID 10d8] ** With TraceLevel = DEFAULT, TraceFileSizeMb = 1, ForceFlush = False
[11/08/2022 10:26:40, TID 10d8] ** Recording events in Server Local Time. UTC OFFSET: 11:00
[11/08/2022 10:26:40, TID 10d8] ****************************************************************
[11/08/2022 10:26:40, TID 1e50] Entering SQL Writer Initialize.
[11/08/2022 10:26:46, TID 1a48] Entering SQL Writer OnIdentify.
[11/08/2022 10:26:46, TID 1a48] Service: MSSQL$ Server: \. Version=15
[11/08/2022 10:26:46, TID 1a48] Instance MSSQL15. Edition: Express Edition
[11/08/2022 10:26:46, TID 1a48] Enumerating SQL Express User Instances
[11/08/2022 10:26:46, TID 1a48] CSqlWriter::AddComponentAndFiles: IVssCreateWriterMetadata::AddFilesToFileGroup failed. hr = 0x80042308
[11/08/2022 10:26:46, TID 1a48] CSqlWriter::AddComponentAndFiles: Throwing HRESULT code 0x80042308. Previous HRESULT code = 0x80042308
[11/08/2022 10:26:46, TID 1a48] HRESULT EXCEPTION CAUGHT: hr: 0x80042308
While I haven't been able to find any details on this error at this time, I wanted to publish that it can be caused by the space in the database name in case anyone else decides to search for this error.