What does the SQL Server error message Lazywriter: WARNING, couldn't find slot, 8/8, scanned 8 mean?

Neil Pike

March 4, 1999

1 Min Read
ITPro Today logo in a gray background | ITPro Today

A. Basically SQL Server is trying to wrote out "dirty" datato disk via the lazy writer thread that the CHECKPOINT process kicks off. Ithas been unable to find a free slot - which is basically a memory buffer. Thenumber of slots is set via the sp_configure "max lazywrite io"parameter and dictates the number of concurrent i/o's that this process isallowed to have.

The reason why it couldn't find a slot is either :-

  1. There has been an internal corruption that is stopping the lazy writerprocess from working properly. This is rare, but there was a known bug in SP3,fixed in SP4, that could cause this. If this were happening then you would seeother errors/AV's before this particular error appeared.

  2. The normal reason is just that the disk subsystem is too busy to processthe i/o requests. In which case look for non-SQL tasks that may be causingcontention on the same disk(s) - NT backups, file transfers, paging etc. Lookfor contending SQL processes on the same disk(s) - table scans, log file writesetc. You may need to move SQL devices to prevent contention. Alternatively youmay have the overrall level of i/o's that SQL is making too high - you may needto reduce the number of "max async io"'s that sp_configure allows.

In any event the message is not usually a problem - SQL will wait until itcan continue with the lazy write i/o's for as long as necessary.

(Under SQL 7 lazywrite io is dynamically tuned).

Sign up for the ITPro Today newsletter
Stay on top of the IT universe with commentary, news analysis, how-to's, and tips delivered to your inbox daily.

You May Also Like