Posts Tagged ‘site collection’
What is a Site Collection in SharePoint?
There are lot of confusions between Site Collection, sites and web application so though I will try to put some light on same. A very high level overview of a Site Collection is that Site collection share common features like Content types, Templates, Site columns, permissions, Web Parts etc. In other words a site collection groups together websites, and (perhaps most importantly) the security data for these websites. A site Collection stores references to a bunch of information critical to any web site. This information includes, but is not limited to:
–Web Parts
–Users which have access to the website
–Themes
–Sandbox Solutions
–MasterPages
–List Templates
Site Collection facilitates better administration of our internet\intranet websites. Let me explain using an example. We have a company’s intranet site and that intranet site (http://intranet) has multiple departments based sub sites like Finance, Sales, Support, etc. If I need to check something related to Finance, I can simply go to http://intranet/finance and try to find my relevant information in through Shared Document library, Blogging and much more. I would have access to all commonly used information\documents through a single intranet URL.
To the Site Collection all the websites within it are in a flat hierarchy which developers can see using spsite.allwebs or using dbo.allwebs table in content database.
Normally each web application has at least 1 Site Collection but it can have many however every web application has only 1 Top Level Site collection. General setting like Recycle bin and Quotas are organized at site collection level. Most important is each site collection can only use a single content database though multiple site collections can us the same content database.
Sites and subsites in a web application are actual place where content is stored. A site can be a top-level site or a sub site of the top level site. Not to confuse you but even a Sub sites can have other sub sites and so on. It is a free like structure. A site can inherit its parent’s permissions or define its own.
Microsoft recommended limiting the number of site collections in a content database to 5,000. However, up to 10,000 site collections in a database are supported. Microsoft decided this parameter after analyzing speed of upgrade, SharePoint performance, etc. The larger the number of site collections in a database, the slower the upgrade with respect to both database upgrade and site collection upgrades.
Exceeding the 5,000 site collection limit puts you at risk of longer downtimes during upgrades. If you plan to exceed 5,000 site collections, Microsoft recommend that you have a clear upgrade strategy to address outage length and operations impact, and obtain additional hardware to speed up the software updates and upgrades that affect databases.
The maximum recommended number of site collections per SharePoint farm is 500,000 Personal Sites plus 250,000 for all other site templates.
You can create a very large total number of web sites by nesting subsites. For example, in a shallow hierarchy with 100 sites, each with 1,000 subsites, you would have a total of 100,000 web sites. Or a deep hierarchy with 100 sites, each with 10 subsite levels would also contain a total of 100,000 web sites.
Note: Deleting or creating a site or subsite can significantly affect a site’s availability. Access to the site and subsites will be limited while the site is being deleted. Attempting to create many subsites at the same time may also fail.
Microsoft recommends a limiting of 200 GB for each site collections. This 200 gb includes RBS blob files on SQL server.
How we create a site collection?
Open Central Admin > Application management > Create Site Collection > Select the URL and fill in other details > Click OK.
You can also use below Powershell command:
New-SPSite -URL https://itfreesupport.com -OwnerAlias [email protected] -template “STS#0”
How to create a subsite?
Browse your site collection > Select setting button on right top corner > select “site contents” > select new subsite > Provide the URL and fill in other details > click OK.
You can also use below Powershell command:
New-SPWeb http://itfreesupport/subweb1 -Template “STS#0”
Note: Site collection can only be create from Central admin or SharePoint server where as subsite can be created from any machine using site collection URL
Hope this was helpful
Unable to create site collection in SharePoint configured with SQL server RBS 2014
Hi Friends,
Recently I wanted to configure RBS on SQL server 2014. According to me I did configure everything fine but then I was unable to create a Site collection in that database. I get below error message.
Sorry, something went wrong
The URL ‘_cts/Document Set/docsethomepage.aspx’ is invalid. It may refer to a nonexistent file or folder, or refer to a valid file or folder that is not in the current Web.
Technical Details
Troubleshoot issues with Microsoft SharePoint Foundation.
Correlation ID: af6aef9c-01ea-20f9-005a-d8bb2b2da40d
Date and Time: 3/4/2015 3:14:36 AM
In ULS logs I see below error:
Document Management Server Document Sets Unexpected DocumentSet FeatureActivating: throws exception: The URL ‘_cts/Document Set/docsethomepage.aspx’ is invalid. It may refer to a nonexistent file or folder, or refer to a valid file or folder that is not in the current Web…. Stacktrace: at Microsoft.SharePoint.SPGlobal.HandleComException(COMException comEx) at Microsoft.SharePoint.Library.SPRequest.PutFile(String bstrUrl, String bstrWebRelativeUrl, Object punkFile, Int64 cbFile, Object punkSPFileMgr, Object punkFFM, Int64 PutFileOpt, String bstrCreatedBy, String bstrModifiedBy, Int32 iCreatedByID, Int32 iModifiedByID, Object varTimeCreated, Object varTimeLastModified, Object varProperties, String bstrCheckinComment, String bstrLockIdMatch, String bstEtagToMatch, Int32 lockType, String lockId, Int32 minutes, Int32 fRefreshLock, Int32 … 2068ef9c-91d4-20f9-005a-da81ca62d058
Document Management Server Document Sets Unexpected …bValidateReqFields, Guid gNewDocId, SPFileSaveParams sfsp, SPFileInfo& pFileProps, UInt32& pdwVirusCheckStatus, String& pVirusCheckMessage, String& pEtagReturn, Byte& piLevel, Int32& pbIgnoredReqProps) at Microsoft.SharePoint.SPFileCollection.AddStreamOrBytesInternal(String urlOfFile, Stream file, Int64 fileSizeToSave, SPFileStreamManager spmgr, PutFileOpt fileOpt, String createdBy, String modifiedBy, Int32 createdByID, Int32 modifiedByID, DateTime timeCreated, DateTime timeLastModified, Object varProperties, String checkInComment, Stream formatMetadata, String lockIdMatch, String etagToMatch, SPLockType lockType, String lockId, TimeSpan lockTimeout, Boolean validateRequiredFields, SPVirusCheckStatus& virusCheckStatus, String& virusCheckMessage, String& etagNew, Boolean& ignoredRequire… 2068ef9c-91d4-20f9-005a-da81ca62d058
Document Management Server Document Sets Unexpected …dProps) at Microsoft.SharePoint.SPFileCollection.Add(String urlOfFile, Byte[] file, Boolean overwrite, String checkInComment, Boolean checkRequiredFields) at Microsoft.SharePoint.SPFileCollection.Add(String urlOfFile, Byte[] file, Boolean overwrite) at Microsoft.Office.DocumentManagement.Internal.DocumentSetFeatureReceiver.FeatureActivated(SPFeatureReceiverProperties properties). 2068ef9c-91d4-20f9-005a-da81ca62d058
I did a lot of search trying to find the issue but couldn’t find anything. Lucky I found a article which says database might be read only. I then create a new database without RBS enabled and it was working fine.
Then I enabled RBS on same database and got the same error. So I confirmed that it was RBS configuration issue.
I then followed below steps one by one and confirmed that it was issue with ActiveProviderName
$cdb = Get-SPContentDatabase “contentdbname”
$rbss = $cdb.RemoteBlobStorageSettings
$rbss
I then run below command on same content database which resolved my issue.
$cdb = Get-SPContentDatabase “contentdbname”
$rbss = $cdb.RemoteBlobStorageSettings
$rbss.Installed()
$rbss.Enable()
$rbss.GetProviderNames()
$rbss.SetActiveProviderName(RBSFilestreamProvider)
$rbss.Migrate()
Hope this will help you.
Happy Learning friends. 🙂