Microsoft has documented certain things as part of their Open Specification. This includes SharePoint, like MS-UPSSDSP (PDF) which is documented as Specifies the User Profile Social Data Stored Procedure protocol, to allow create, read, update and delete operations on social metadata stored in a social data store on a site.

Back in SharePoint 2007, the rule was to never, EVER read directly from the database (with the exception from WSS_Logging). But now that stuff is officially documented specifically with the intent to help[s] developers create innovative solutions by providing open access to quality technical specifications and support through forums, events, and complimentary technical assistance., I wonder if it's safe to make read-only database calls to the SharePoint databases now, especially given the poor feature set of SharePoint 2010's Social Features through the object model and web services?

  • It's the cardinal sin of SharePoint. – RJ Cuthbertson Jun 3 '14 at 19:20

As per the Microsoft KB articles, which applies to all SharePoint Versions, always against direct access to SharePoint database.

here are the supported scenarios: Supported database modifications

Exceptions to the prohibition against database modifications are made for specific usage scenarios:

  • Operations that are initiated from the SharePoint administrative user interface
  • SharePoint specific tools and utilities that are provided directly by Microsoft (for example, Ststadm.exe)
  • Changes that are made programmatically through the SharePoint Object Model and that are in compliance with the SharePoint SDK documentation
  • Activities that are in compliance with the SharePoint Protocols documentation

Read operations addendum

Reading from the SharePoint databases programmatically, or manually, can cause unexpected locking within Microsoft SQL Server which can adversely affect performance. Any read operations against the SharePoint databases that originate from queries, scripts, .dll files (and so on) that are not provided by the Microsoft SharePoint Development Team or by Microsoft SharePoint Support will be considered unsupported if they are identified as a barrier to the resolution of a Microsoft support engagement.

So in other words, direct read access still risky.

Your Answer

