• I know it's trivial but the table names used in some of your SQL statements do not match the the table names reflected in the results. For instance in step3:

    SELECT *

    FROM SalesOrderDetail

    WHERE SalesOrderID = 43671

    AND SalesOrderDetailID = 120

    Heap (1 row(s) affected)

    Table 'SalesOrderDetail_noindex'. Scan count 1, logical reads 1495.

    This is true so far in steps 2 and 3.