Question : SQL 2008 SP1 Ghost count!

Hi Experts, when sql server is very busy I get Ghost counts when using statement 2, statement 1 works fine, however, when the server is idle both the statements come up with the same correct results! Aaargh!!

Is there a setting on the server that can fix this?

The two fields are JobUID (Uniqueidentifier) and EntityType nchar(2).

Cheers and look forward to your answers!


DECLARE @JobUID uniqueidentifier, @EntityType nchar(2),
SET @JobUID = '1e259920-326d-4469-ba23-5041e307f9b8'
SET @EntityType = 'GE';

-- 1
SELECT count([id]) AS TotalRowsInTable
    FROM [DQEMail].[dbo].[EMailValidatorResults]
    where JobUID = '1e259920-326d-4469-ba23-5041e307f9b8' and EntityType='GE'
TotalRowsInTable
4154744 (Correct count)

-- 2 Ghost count result
SELECT count([id]) AS TotalRowsInTable
    FROM [DQEMail].[dbo].[EMailValidatorResults]
    where [JobUid]= @JobUID  and EntityType=@EntityType      
TotalRowsInTable
4154782 (Incorrect count)

Answer : SQL 2008 SP1 Ghost count!

try repeattable read  first

 SET TRANSACTION ISOLATION LEVEL REPEATABLE READ

if that causes problems (deadlocks) drop back to read committed...
Random Solutions  
 
programming4us programming4us