Maybe I should change the topic to "Do you know?". "Did you know" seems to imply that _I_ actually know the answer. It seems very tricky to know for sure if a bug has been fixed, unless you have an actual bug number from Microsoft. If you have a bug numnber, you can check the list of fixes in the KB article that contains the list of fixes. But even then, there are no guarantees. The list seems to only include bugs and fixes for which a KB article has been written. For example, http://support.microsoft.com/?kbid=955706 lists the bugs fixed in SQL Server 2005, Service Pack 3, and includes this disclaimer:
- Other fixes that are not documented may be included in the service pack.
If a bug is fixed in a new release (for example, SQL Server 2008), there is no list of the bugs from the previous version that have been fixed. Even if you file (or find) a bug on Connect, the information about the the status is sometimes uncertain. Sometimes the engineers say "Will be fixed", but there is rarely a followup on Connect when that fix is actually included in a release.
I posted about a bug with generating a Deadlock Graph Event back in November 2006, and recently received a comment asking if that bug had been fixed in SP3. The comment indicated that the bug was not being seen in SP3. My first thought was that if you're not seeing it, then it must be fixed. The Connect Item indicated it wouldn't be fixed until SQL 2008, but at the time, SP3 was not being planned, so it made sense to think it had been fixed without the Connect Item being updated. But on rereading the reason in Connect, they said it was "too risky" for SP2. I would think that if it was too risky for SP2 it would be too risky for SP3. If they had said "not enough time", I might have been more likely to believe the fix could have made it into SP3.
So, did what I always like to do before posting... I tried it out for myself. Using the same script that Erland has in the Connect Item to generate a deadlock, I tried to capture Deadlock Graph on SQL Server 2005 SP3, with no filters defined. My Deadlock Graph Event showed up plain as day:
I then stopped the trace, added a filter on Database ID, and ran the same script (after dropping the table first), and no Deadlock Graph was generated. So purely by the evidence, I'd say this bug was not fixed in Service Pack 3.
So now we know about this one. What about all the others?