Installing and Configuring Your BLOB Provider

Applies to: SharePoint Foundation 2010

You must install, configure, and then enable your external binary large object (BLOB) (EBS) Provider on each application Web server in the farm.

Important

In the following instructions, notice that you should install and configure the EBS Provider on all of the Web servers before you enable the EBS Provider on any one of the Web servers.

Installation, Configuration, and Enablement

Complete the following steps to install, configure, and enable your EBS Provider. It is important to complete the steps in the sequence presented.

Note

The external BLOB store is accessed by using the context of the application pool identity account for the front-end Web application. The EBS Provider is hosted in this Web application process and runs by using this application pool identity account. BLOBs in the external BLOB store must be authorized to use the application pool account. However, no user account should have authorization to access the external BLOB store.

To install, configure, and enable an EBS provider

  1. Register the EBS Provider that you have written or obtained from your ISV.

    Note that the EBS Provider must be registered on every Web server in the farm; to register the COM component, use the registration utility regsvr32.

  2. Configure the EBS Provider on each of the Web servers on which it has been registered.

    Important

    Initially, you should configure your BLOB provider to not put new files in the BLOB store. The EBS Provider should remain not enabled until the remaining steps in the setup and configuration are completed on every server and for the farm generally.

    On each Web server, configure as follows:

    $yourProviderConfig = new-object –ComObject
          'Your.BlobProviderConfig.1'
    $yourProviderConfig.Active = $false
    
  3. Load your assembly into PowerShell:

    [System.Reflection.Assembly]::LoadWithPartialName
          ('Microsoft.SharePoint')
    
  4. Retrieve the local server farm, as follows:

    $farm = [Microsoft.SharePoint.Administration.SPFarm]::Local
    
  5. Register the EBS Provider CLSID with the farm, and then update.

    $farm.ExternalBinaryStoreClassId = $providerConfig.ProviderCLSID
    $farm.Update()
    
  6. Reset IIS and any other services that have SharePoint Foundation loaded. You must do this on all Web servers on which the EBS Provider is loaded.

    IISRESET
    NET STOP SPTimerV3; NET START SPTimerV3
    

    At this point each Web server and timer process is able to recognize and redirect BLOBs to storage that is external to the content database.

  7. Reconfigure the EBS Provider on each Web server to begin storing BLOB data in the external BLOB store:

    $yourProviderConfig.Active = $true
    

See Also

Concepts

External Storage of Binary Large Objects (BLOBs) in SharePoint Foundation