I am assuming that the syntax error in your posting is a typo. If not, you need an extra table1 in the update statement; see in red below:UPDATE table1
SET table1.field2 = table2.field2
FROM table1
INNER JOIN table2
ON table1.field3 = table2.field3
WHERE date BETWEEN '20120801' AND '20120831'
Run each of the statements below to see what might be wrong. In the sp_who2, you are looking for BlkBy column to see if there are any processes blocking the update query-- 1
SELECT TOP 10 field2,field3
FROM table1
INNER JOIN table2
ON table1.field3 = table2.field3
WHERE date BETWEEN '20120801' AND '20120831'
-- 2
SELECT COUNT(*)
FROM table1
INNER JOIN table2
ON table1.field3 = table2.field3
WHERE date BETWEEN '20120801' AND '20120831'
-- 3
sp_who2