Ask a questionAsk a question
 

AnswerDocument storage in SQL, Sharepoint or where

  • Wednesday, November 04, 2009 10:24 PMWorkerBee09 Users MedalsUsers MedalsUsers MedalsUsers MedalsUsers Medals
     
    Im new to the sharepoint world but I have been having discussions with developers and they swear files are not being kept internal to the SQL database.  They say they are kept outside and only have pointers to where the files are stored on the drive.

    My question here is where are the documents really stored?  Does Sharepoint store the documents on the SQL server?  Or on the Sharepoint Web server and then send the pointers to SQL?  I need some general guidelines here but am having trouble locating a document that really talks about where the documents are really stored.  This I need to suffice Executive personnel in a kindergarden fashion to show them why I need diskspace either on the SQL Server or on the Web server that houses the Sharepoint front end. 

    Do I really need a large disk space on the Sharepoint web server if my SQL server is separate from the farm?

Answers

  • Friday, November 06, 2009 3:32 AMSteve.CurranMVPUsers MedalsUsers MedalsUsers MedalsUsers MedalsUsers Medals
     Answer
    I would have to ask if your developers have access to SQL Server and SQL Management Studio. They can use SQL Management Studio to look at the AllDocStreams table int the SharePont content database and they will see the documents stored in an Image column. Apparently, they don't have access which is very strange. SharePoint can currently handle up to 100 gb per content database, but with SharePoint 2010 this can be larger. At the "Document Mangement Deep Dive" session it was stated, "and you can watch the video" that 2010 can handle up to 5 terra bytes of data in the database before having to go to implementing "Remote Blob Storage". If you are going to store the documents directly into the SharePoint database then the link below will show the various ways of uploading documents into SharePoint. If you are looking for guidance on how to add blob data into another SQL Server database and then have SharePoint index and search it then you will need the "Business Data Connector".

    http://sharepointfieldnotes.blogspot.com/2009/09/uploading-content-into-sharepoint-let.html

    http://msdn.microsoft.com/en-us/library/bb736296.aspx
    certdev.com
  • Tuesday, November 17, 2009 11:47 PMWorkerBee09 Users MedalsUsers MedalsUsers MedalsUsers MedalsUsers Medals
     Answer
    thank you all for your support.  the question was answered with lots of information that I will research going forward now that 2010 beta is out.  Hopefully All will work and my learning curve will start today.
    • Marked As Answer byWorkerBee09 Tuesday, November 17, 2009 11:47 PM
    •  

All Replies

  • Thursday, November 05, 2009 12:29 AMPaul Lucas Users MedalsUsers MedalsUsers MedalsUsers MedalsUsers Medals
     
    Hi,

    You'll need to tell them you need disk space on your SQL server. While it is true that a few files are stored in the web front-end, most of these are the various infrastructure files, such as .aspx files, style sheets etc.

    Documents that are uploaded to SharePoint document libraries are otherwise stored in the Database.

    Here is another thread on the issue

    http://social.technet.microsoft.com/Forums/en-US/sharepointgeneral/thread/0e64ee53-3cc6-419f-873a-45085b82077f

    Paul.
    • Edited byPaul Lucas Thursday, November 05, 2009 12:32 AMAdded link
    •  
  • Thursday, November 05, 2009 12:56 AMSteve.CurranMVPUsers MedalsUsers MedalsUsers MedalsUsers MedalsUsers Medals
     
    The files are kept in the AllDocStreams table within the content database. There is an "Extended Blob Storage" api from Microsoft that can be used to store the files outside of the content database. However, you must manage the orphaned blobs and it does not use managed code. SharePoint 2010 will support RBS remote blob storage but they are recommending only to use this when you go over 5TB of data.

    http://msdn.microsoft.com/en-us/library/cc905212.aspx

    certdev.com
  • Thursday, November 05, 2009 11:00 AMWorkerBee09 Users MedalsUsers MedalsUsers MedalsUsers MedalsUsers Medals
     
    Can anyone point me to show the developers a technet doc that addresses the upload process for SQL?  I think you all answered my question but here is the scenario we are facing.  We have a webportal where users create documents either as an invoice in PDF format or Doc depending on the need to create such documents.  We want to store these in SQL and use sharepoint to be able to find the documents once the web front end stores the doc.  This would be needed until we can figure out a way to use sharepoint correctly but in the interm we need a way to upload docs in the backend regardless of who the users are.  We can create a service account to do this upload but I think they are missing a very big piece of the puzzle since they store this document on the webserver for later accessibility.  This to me is not a good idea cause it adds addition space to a webfront end server that should not have anything but files that work the frontend.

    Any help here would be appreciated.

    Thanks for answering the above.  I thought so but could not find any documents that really layout the process for a developer.

    By the way the second part of my question was do I need additional disk space on the web server and I think what I am reading between the lines is No!  I can use a farm of two disk server with 100 gig hdrives to separate my services and use as a front end server and the majority of my space should be on SQL.  If this is wrong then let me know.
    • Edited byWorkerBee09 Thursday, November 05, 2009 11:04 AMadded second question feedback
    •  
  • Thursday, November 05, 2009 1:47 PMPaul Lucas Users MedalsUsers MedalsUsers MedalsUsers MedalsUsers Medals
     
    In terms of infrastructure requirements, you might want to check out some of the Planning and architecture documentation on technet.

    http://technet.microsoft.com/en-us/library/cc261834.aspx

    http://technet.microsoft.com/en-us/office/sharepointserver/default.aspx


    I'm not sure I understand your first part of the question though.

    "We have a webportal where users create documents either as an invoice in PDF format or Doc depending on the need to create such documents.  We want to store these in SQL and use sharepoint to be able to find the documents once the web front end stores the doc.  This would be needed until we can figure out a way to use sharepoint correctly but in the interm we need a way to upload docs in the backend regardless of who the users are."

    Do you want to store documents in your own SQL database or the SharePoint content database? Is your web portal SharePoint or another solution?

  • Thursday, November 05, 2009 10:13 PMWorkerBee09 Users MedalsUsers MedalsUsers MedalsUsers MedalsUsers Medals
     
    Well at this point we use SQL to store documents but the developers insist that SQL really does not store the document and since I am not a developer I cannot understand their reasoning but they have told me SQL creates a file outside of the database since SQL is not a "true" document storage cabinet.  I tend to disagree with this since all I heard at sharepoint 2010 was to store the docs in SQL but to keep the Content database under 100 gig or else you will have problems.  If it were a true document storage cabinet then it would not matter how many files would be stored.  The are concerned that the indexing of documents would take longer than expected and would think having it on a file share is best.   I will keep looking for proof that sharepoint is the best way to approach this.  Currently we have over 50K email message per week that we want sharepoint to handle and catalog through the use of metadata while other users who logon to the web portal create files on the file, we would need to keep track of these files and all revisions of the file once a document is created.  There could be several documents created since we are tracking oversea products to different parts of the world via shipping lanes.

    I will look up the information like you stated in the Planning and architecture doc area.

    Thanks for your help.
  • Friday, November 06, 2009 3:32 AMSteve.CurranMVPUsers MedalsUsers MedalsUsers MedalsUsers MedalsUsers Medals
     Answer
    I would have to ask if your developers have access to SQL Server and SQL Management Studio. They can use SQL Management Studio to look at the AllDocStreams table int the SharePont content database and they will see the documents stored in an Image column. Apparently, they don't have access which is very strange. SharePoint can currently handle up to 100 gb per content database, but with SharePoint 2010 this can be larger. At the "Document Mangement Deep Dive" session it was stated, "and you can watch the video" that 2010 can handle up to 5 terra bytes of data in the database before having to go to implementing "Remote Blob Storage". If you are going to store the documents directly into the SharePoint database then the link below will show the various ways of uploading documents into SharePoint. If you are looking for guidance on how to add blob data into another SQL Server database and then have SharePoint index and search it then you will need the "Business Data Connector".

    http://sharepointfieldnotes.blogspot.com/2009/09/uploading-content-into-sharepoint-let.html

    http://msdn.microsoft.com/en-us/library/bb736296.aspx
    certdev.com
  • Tuesday, November 17, 2009 11:47 PMWorkerBee09 Users MedalsUsers MedalsUsers MedalsUsers MedalsUsers Medals
     Answer
    thank you all for your support.  the question was answered with lots of information that I will research going forward now that 2010 beta is out.  Hopefully All will work and my learning curve will start today.
    • Marked As Answer byWorkerBee09 Tuesday, November 17, 2009 11:47 PM
    •