I´m searching for informations about the SharePoint 2010 Database.
Are there infomations about the different tables/views etc.? I don´t found any documents about the SharePoint 2010 Databases on msdn etc. only for 2003 and 2007.
SharePoint Stack Exchange is a question and answer site for SharePoint enthusiasts. It only takes a minute to sign up.Sign up to join this community
All queries against SharePoint data should be done through the SharePoint Object Model or Web Services. Creating solutions that access the database directly will result in an unsupported installation of SharePoint.
Though you have nothing preventing you from doing direct SQL queries, you will not get any support on this site for doing anything that will make your farm unsupportable by Microsoft.
You'll likely want the SharePoint Products and Technologies Protocol Documentation. These contain descriptions about the database structure, including table schema, sprocs, and so forth... Along with a lot of other information. And as everyone else has noted, making changes is, for the most part, unsupported. Check out KB841057 for more information on that.
Maybe you can start from here: http://msdn.microsoft.com/en-us/library/dd587562(v=office.11).aspx
But let me remind you, modifying the tables directly is risky and is not supported.
Thread is 4 years old, and SP is fading away (partly, IMO, because the API is so abstruse and the design so closed), but thought I'd add a response...
If you understand the concepts of SharePoint, then it's pretty straightforward to guess what the tables do based on their names... It can be a little more difficult to determine exactly where specific pieces of information are stored. AllDocs are many to one on AllLists and AllSites. AllDocVersions are many to one on AllDocs. AllDocStreams is one-to-one with AllDocVersions and simply stores the raw data for the files. AllUserData stores metadata, etc... etc...
The following query will get pretty much all information on the CURRENT version of documents in the system:
select top 100 * from AllDocs ad WITH (NOLOCK) inner join AllDocStreams ds with(nolock) on ad.SiteId=ds.SiteId and ad.Id = ds.Id and ad.InternalVersion = ds.InternalVersion inner join AllUserData as U WITH (NOLOCK) on ad.Id = U.tp_DocId and u.tp_iscurrent=1
I'm not totally sure where non-document list items are stored, perhaps someone else can say.
It might be easier for you to ask for where to find a specific piece of information.
p.s. I'm not too sure why people get so worked up about the "unsupported" nature of working with the database directly... I mean obviously it's unsupported, and so you need to test and possibly change your code before/after you upgrade sharepoint - big deal! If you can can figure out how to do something 1000 times faster by reading or even updating the SP database directly, and that has real business value for you, then you're probably a big enough boy/girl to understand the trade-off for it being unsupported.... It could very well be the case that the thing you build will work well for the next 8 years and then your company (or your client) will move to a completely different platform without ever caring to upgrade - or even patch - SP in the meantime. You may roll your eyes, but I've seen this happen quite often - especially in very customized SP deployments where even supported mods need to be re-coded before upgrading.