How to solve Event ID 17120: SQL Server could spawn not lazy writer thread
After a reboot of my development machine, the SQL Server 2008 R2 service wouldn't start.
I consulted the Event viewer, but that only yielded the following message.
Log Name: Application
Source: MSSQL$SE2008R2
Date: 1-6-2010 12:38:43
Event ID: 17120
Task Category: Server
Level: Error
Keywords: Classic
User: N/A
Computer: [censored]
Description:
SQL Server could not spawn lazy writer thread. Check the SQL Server error log and the Windows event logs for information about possible related problems.Event Xml:
<Event xmlns="http://schemas.microsoft.com/win/2004/08/events/event">
<System>
<Provider Name="MSSQL$SE2008R2" />
<EventID Qualifiers="49152">17120</EventID>
<Level>2</Level>
<Task>2</Task>
<Keywords>0x80000000000000</Keywords>
<TimeCreated SystemTime="2010-06-01T10:38:43.000Z" />
<EventRecordID>7660</EventRecordID>
<Channel>Application</Channel>
<Computer>censored</Computer>
<Security />
</System>
<EventData>
<Data>lazy writer</Data>
<Binary>E042000010000000130000004400540041003000300035003400360030005C0053004500320030003000380052003200000000000000</Binary>
</EventData>
</Event>
After checking the internet for a solution, I came up with none. I decided to check the SQL Server Log file and it contained the following line.
I/O affinity turned on, processor mask 0x00000002. Disk I/Os will execute on CPUs per affinity I/O mask/affinity64 mask config option. This is an informational message only; no user action is required.
I them remembered that I had tried to assign CPU2 to handle I/O requests. Since the only way to remedy something that goes wrong and which you haven't got a clue about is to retrace your steps, my next step would be to undo that setting. But the SQL Service wouldn't start and the -I command line option didn't work.
I started SQL Server manually as described in this MSDN article: How to: Start an Instance of SQL Server (sqlservr.exe). I specifically used the -f option to make sure SQL Server would start with as little configuration as possible.
SQL Server started and I launched my Enterprise Manager and checked the "Automatically set I/O affinity mask for all processors".
I then closed the Enterprise Manager, quit the command prompt and started the service. Life was peachy again.










August 24th, 2010
12:30
Thank you man!!! I did exactly the same thing about the I/O affinities just to play and then… buzz.. no SQL
Thank you for offering the solution!