• ... will select count(*) get the keep changed record numbers even if (nolock) hint is on?

    Actually, it will count uncommitted records if and only if (nolock) or the equivalent is set on.

    With normal READ COMMITTED isolation level, the count(*) query will wait for the locks to clear before completing.

    Edit: corrected typo.

    SQL DBA,SQL Server MVP(07, 08, 09) A socialist is someone who will give you the shirt off *someone else's* back.