• The clustered index does not have to be the primary key. Yes, Microsoft recommends that all tables have a custered index. It is even suggested that this index should be an ever increasing unique value, but it doesn't have to be. Choosing a clustered index should be an exercise in validation of the way the data is used. For instance, it may make more sense to have a clustered index on a date column, even if it isn't unique due to the number of range searches done using that column.

    You also need to look at architectual considerations. If you are using logshipping or database mirroring, you may want to be sure that the clustered index is relatively stable with regards to fragmentation as rebuilding the clustered index will have an impact on both of these technologies.