How to Create a Read Only Farm or Site in SharePoint 2010



In SharePoint 2010 you can create a Read-Only Farm/site or site-collection by setting the Content database as Read-only. In a read-only farm, only content databases are read-only. All other databases, including the configuration database, Central Administration content database, and search database, are read/write. The site collection that is associated with a read-only content database is automatically set to be read-only.

The farm is considered to be read-only if any of the following are true:

  • All content databases are set to read-only.
  • Service application databases are set to read-only.

Use of read-only databases

If you plan to provide users with access to a read-only site or farm, you should set expectations for what they will be able to do on the site and how the user interface will differ.

Sites that use read-only content databases

The user experience of a site that uses a content database that is set to read-only is characterized by the following:
  • Common tasks that do not require writing to the content database are fully available.
  • Most of the common tasks that require writing to the content database are not available, either because they have been disabled in the UI, or because the user is no longer allowed to apply changes.
  • Some common tasks that require writing to the content database appear to be available, but return errors.

Farms that use read-only service application databases

The user experience of a farm that uses service application databases that are set to read-only is characterized by the following:
  • Common tasks that do not require writing to the service databases are fully available.
  • All common tasks that require writing to the service databases appear to be available, but return errors.

How to find the content databases to set read only

Before you set content databases to be read-only, you may need to determine which content database is associated with a particular site collection. To determine which content database is associated with a site collection
  1. On the Start menu, click All Programs.
  2. Click Microsoft SharePoint 2010 Products.
  3. Click SharePoint 2010 Management Shell.
  4. At the Windows PowerShell command prompt (PS C:\>), type the following command, and then press ENTER:
  5. Get-SPContentDatabase -Site <Site URL>

    -Site specifies the site collection for which you want to know the associated content database.

    The command returns the content database associated with the site.

To set content databases to be read-only
  1. Verify that you have the following administrative credentials: You must be a member of the db_owner fixed database role in each database.
  2. Open SQL Server Management Studio.
  3. Right-click the content database that you want to change to read-only, and then click Properties.
  4. Select the Options page, and, in the Other options list, scroll to the State section.
  5. In the Database Read-Only row, click the arrow next to False, select True, and then click OK.
  6. Repeat for all other content databases.

Set service application databases to be read-only

It is possible to set any service application database to be read-only. However, some service applications do not function when their databases are set to read-only, including those associated with Search and Project Server.
  1. To set service application databases to be read-only
    Verify that you have the following administrative credentials: You must be a member of the db_owner fixed database role in each database.
  2. Open SQL Server Management Studio.
  3. Right-click the database that you want to change to read-only, and then click Properties.
  4. Select the Options page, and, in the Other options list, scroll to the State section.
  5. In the Database Read-Only row, click the arrow next to False, select True, and then click OK.
  6. Repeat for other service application databases as appropriate.