>I'd suggest to have a look at Snapshot Isolation Level as well.
>
>In order to use it, you'd have to alter the database to allow snapshot isolation level.
>
>After that is done, you can set the isolaion level to snapshot and execute the commands you want.
>This means that the data that you would be accessing, would include only the data that had been commited at the time you started yuor transaction.
>
>The mechanism uses row versioning. It creates a version for the records that are commited, and every new data that is inserted or modified in the database gets a bigger version which is ingored by your transaction.
>
>It's said that because of the row locks it uses, it adds overhead to the system, but I've not noticed siginificant resource waste.
>
>Search for more information on the msdn.
>I just wanted to mention that there's also this possibility, that might be usefull.
Thanks