Please start any new threads on our new site at https://forums.sqlteam.com. We've got lots of great SQL Server experts to answer whatever question you can come up with.

 All Forums
 Old Forums
 CLOSED - General SQL Server
 What are the issues with SQL2K Sp4?

Author  Topic 

eyechart
Master Smack Fu Yak Hacker

3575 Posts

Posted - 2005-07-18 : 12:29:13
I am aware of the AWE memory issue (resolved with a hotfix apparently), and I have heard about SQL SPIDs blocking themselves (http://sqljunkies.com/WebLog/simons/archive/2005/06/15/15825.aspx) and causing a performance hit. But that is really all I could find via google.

What other show stoppers are there?



-ec

Thrasymachus
Constraint Violating Yak Guru

483 Posts

Posted - 2005-07-18 : 12:41:00
the self blocking spids is enough for me to stay away.

Sean Roussy

Please backup all of your databases including master, msdb and model on a regular basis. I am tired of telling people they are screwed. The job you save may be your own.

I am available for consulting work. Just email me through the forum.
Go to Top of Page

mcrowley
Aged Yak Warrior

771 Posts

Posted - 2005-07-18 : 13:50:08
I have actually had pretty good luck with the one production instance of SP4 that I have. I am not seeing the self-blocking, which I think is just a spid in a "spin" state. I may have to go looking for that article. (actually, it is the link in the articke Eyechart provided). To date, I have not seen the self-blocking issue (in 2 weeks), but we have SP4 on a largely read-only system that manages to keep just about all of its data in RAM. Still serving up over 600 queries a second, too.
Go to Top of Page

eyechart
Master Smack Fu Yak Hacker

3575 Posts

Posted - 2005-07-18 : 15:52:39
I found an explanation for the SPID blocking issue in the microsoft.public.sqlserver.server newsgroup viewable here: http://www.mcse.ms/message1609509.html


quote:
Originally posted by Santeri Voutilainen [MSFT]
What you are seeing is not related to locks, rather it is related to the
latch waits you see in sysprocesses. In SP4 we are able to determine the
blocking spid for latch waits when the blocking spid holds the latch in
exclusive or update mode. In these cases the blocking spid information is
populated into the "blocked" field in sysprocesses.
So why is the spid blocked by itself? Well, that has to do with how latches
are used for IO operations. When an IO is issued for page, a latch is held
on the page. Depending on the IO operation, the latch mode acquired is
shared (SH) or exclusive (EX). The latch for the IO is acquired by the
thread that issues the IO. Since all SQL Server IO operations are
asynchronous, if the spid that issued the IO wants to wait for the IO to
complete it will attempt to acquire another latch on the same page after
issuing the IO. The first latch is released when the IO completes. This
release allows the second latch request to be granted.
Here's an example of how this works:
1. Spid 55 wants to read page P1 which does not exist in the buffer pool.
2. Spid 55 acquires an EX latch on page P1 -- this marks spid 55 as owning
the latch. The latch is in an in memory data structure, not the physical
page itself. Since the page does not yet exist in memory the mode is EX in
order to force other spids that may also want to access the page to wait for
the IO to complete and also to prevent them from issueing a second IO
operation for the same page.
3. Spid 55 issues the IO request to read P1 from disk.
4. Since Spid 55 wants to read the page, it must wait for the IO to
complete. It does this by attempting to acquire another latch (in this case
a share (SH)) latch on the page. Since the latch is already held in EX, the
SH request is blocked and the spid is suspended.
5. Upon completion of the IO the EX latch on the page is released.
6. The release of the EX latch grants the SH latch to spid 55.
7. Spid 55 can now read the page.

For the duration between steps 4 (the SH latch acquire) and step 5 (EX latch
release) sysprocesses will indicate that spid 55 is blocked by itself with a
wait type of PAGEIOLATCH_XX (where XX can be SH, UP, or EX) as an indication
that it is waiting for the completion of an IO that it itself issued.

--
Santeri (Santtu) Voutilainen

This posting is provided "AS IS" with no warranties, and confers no rights.


From what I am reading, this SPID blocking itself is not a problem. It is something that was occuring before, but we never had visibility into it. New features of SP4 allow us to see this.

Anyway, that is how I am reading the explanation.


-ec
Go to Top of Page
   

- Advertisement -