Is there a difference between the following SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED Select * From MyTable Where Date = '10/1/2011' and Select * From MyTable With (NoLock) Where Date = '10/1/2011'
Both commands will work the same, except the isolation level command will apply to all tables in a select, NOLOCK is a hint that runs for only one table. e.g. SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED SELECT * FROM MyTable1 A INNER JOIN MyTable2 B ON A.Col1 = B.Col1 will effectively do the same as SELECT * FROM MyTable1 A WITH (NOLOCK) INNER JOIN MyTable2 B WITH (NOLOCK) ON A.Col1 = B.Col1 You may want to only use the NOLOCK hint on one table, however unlikely that may be. EDIT: The main thing to consider here, is what would you win by using this form of data access? NOLOCK / READ UNCOMMITED does have its dangers (phantom reads being the main issue IMO).