SPContentDatabaseCollection class

A collection of references to content databases that are used by a single Web application.

Inheritance hierarchy


Namespace:  Microsoft.SharePoint.Administration
Assembly:  Microsoft.SharePoint (in Microsoft.SharePoint.dll)


<GuidAttribute("4FFCB8E5-7B15-4b81-AC4E-99A2181AD33E")> _
<SharePointPermissionAttribute(SecurityAction.LinkDemand, ObjectModel := True)> _
<SharePointPermissionAttribute(SecurityAction.InheritanceDemand, ObjectModel := True)> _
Public Class SPContentDatabaseCollection _
    Inherits SPBaseCollection
Dim instance As SPContentDatabaseCollection
[SharePointPermissionAttribute(SecurityAction.LinkDemand, ObjectModel = true)]
[SharePointPermissionAttribute(SecurityAction.InheritanceDemand, ObjectModel = true)]
public class SPContentDatabaseCollection : SPBaseCollection


Use the ContentDatabase() property of the SPSite class or of the SPWorkItemCollection class to return the content database for a site collection or work item collection. Use the ContentDatabases property of the SPWebApplication class to return the collection of content databases that are used by the Web application.

To add a content database, use the Add() method.

Use an indexer to return a single content database from the collection. For example, if the collection is assigned to a variable named myContentDatabases, use myContentDatabases[index] in C#, or myContentDatabases(index) in Visual Basic .NET, where index is either the index number of the database in the collection or the GUID for the content database.


The following code example displays information about the content databases of all the SharePoint Web applications within a Microsoft SharePoint Foundation server farm.

Dim services As SPServiceCollection = SPFarm.Local.Services

Dim service As SPService
For Each service In  services

    If TypeOf service Is SPWebService Then

        Dim webService As SPWebService = CType(service, SPWebService)
        Dim webApplications As SPWebApplicationCollection = webService.WebApplications
        Dim webApplication As SPWebApplication

        For Each webApplication In  webApplications
            Dim contentDBs As SPContentDatabaseCollection = webApplication.ContentDatabases
            Dim contentDB As SPContentDatabase

            For Each contentDB In  contentDBs
                Response.Write((webApplication.DisplayName + " :: " 
                    + contentDB.CurrentSiteCount.ToString() + " :: " 
                    + contentDB.MaximumSiteCount.ToString() + " :: " 
                    + contentDB.Name + "<BR>"))
            Next contentDB 
        Next webApplication
    End If 
Next service
SPServiceCollection services = SPFarm.Local.Services;

foreach (SPService service in services)

    if (service is SPWebService)
        SPWebService webService = (SPWebService)service;
        SPWebApplicationCollection webApplications = webService.WebApplications;

        foreach (SPWebApplication webApplication in webApplications)
            SPContentDatabaseCollection contentDBs = webApplication.ContentDatabases;

            foreach (SPContentDatabase contentDB in contentDBs)
                Response.Write(webApplication.DisplayName + " :: " 
                    + contentDB.CurrentSiteCount.ToString() + " :: " 
                    + contentDB.MaximumSiteCount.ToString() + " :: " 
                    + contentDB.Name + "<BR>");

Thread safety

Any public static (Shared in Visual Basic) members of this type are safe for multithreaded operations. Instance members are not guaranteed to be thread safe.

See also


SPContentDatabaseCollection members

Microsoft.SharePoint.Administration namespace