Hello All,

If we look at the previous posting about the causes of locks there are some published Best Practices that we should be following to reduce the deadlocks

  1. Large Lists (http://technet.microsoft.com/en-us/library/cc262813(v=office.12).aspx)
    1. No more the 2000 items per list view (Recommend using filtered views, if that doesn’t work then force a 2000 limit.
    2. Select a column to index, this is the column that users should be using for most filters or searches
    3. Enforce some kind of clean-up on lists or archival of those lists
  2. Crawl times
    1. Insure that we are not running two crawls at the same time
  3. Allow the system to clean up the Workflow history lists.
    1. Educate users on how to use SharePoint (http://office.microsoft.com/en-us/servers/or http://blogs.technet.com/b/hub/)
  4. Use 64-bit hardware for SharePoint and SQL
  5. Keep Site Collections as flat as is reasonable, this means that if a user needs a subsite that they should create it, but we should discourage the creation of multiple nested subsites.  Instesad if possible have all subsites at the same level in the Site Collection.
  6. Keep sites and Site Collections clean delete or archive data that is no longer needed.
  7. Insure that you are not using to many Application Pools, this can cause you to over consume your memory.
  8. Maintain recommend database sizes and insure that you follow the recommendations in the capacity article http://technet.microsoft.com/en-us/library/cc262787(v=office.12).aspx#section3
  9. Insure that SQL is healthy and configured appropriately (http://technet.microsoft.com/en-us/library/Cc287996.aspx)
  10. Run database maintenance regularly.
  11. Insure that any queries in SharePoint returns a max of 2000 items, this could manifest itself thru list views, workflows, 3rd party applications, or admins running t-sql queries.
  12. Review all scheduled interaction in SharePoint, crawls vs Backup, etc