Run a farm that uses read-only databases (Windows SharePoint Services)
Applies To: Windows SharePoint Services 3.0
Topic Last Modified: 2009-11-16
This article describes how to run a Windows SharePoint Services 3.0 farm in which content databases have been set to be read-only (a read-only farm). A read-only farm can be part of a disaster recovery environment that runs against mirrored or log-shipped content databases. Alternatively, it can be part of a highly available maintenance or patching environment that provides user access while another version of the farm is being updated.
Note
In a read-only farm, only content databases are read-only. All other databases, including the configuration database and Central Administration content database are read/write.
To run a farm that uses read-only databases, you must first ensure that the content databases are read-only, and then disable timer jobs that write to content databases. You might also want to alert your users to the changes they will encounter in a farm that is using read-only content databases.
To run a farm that uses read-only content databases
If you use SQL Server log shipping in an environment, the content databases on the secondary server can be set to be read-only. For more information about how to use log shipping, see Configure high availability (Office SharePoint Server). If you use mirroring, the mirror database is inaccessible to client computers. However, it is possible to use the database indirectly by creating a database snapshot on the mirror database. The database snapshot provides client computers with read-only access to the data in the database as it existed when the snapshot was created. For more information about database mirroring, see Database Snapshots.
For other scenarios, you can use the following procedure to set read/write content databases to be read-only by using SQL Server Management Studio. You can also use the Transact-SQL ALTER DATABASE statement to set content databases to be read-only. For more information, see ALTER DATABASE (Transact-SQL) (https://go.microsoft.com/fwlink/?LinkId=148619).
Important
To perform this procedure, you must be a member of the db_owner fixed database role in each database.
Do not perform this procedure on log shipped or mirrored databases.
Set a content database to be read-only
Open SQL Server Management Studio.
Right-click the content database that you want to change to read-only, and then click Properties.
Select the Options page, and, in the Other options list, scroll to the State section.
On the Database Read-Only entry, click the arrow next to False, select True, and then click OK.
Repeat for all other content databases.
Note
When a database is set to read-only by using SQL Server Management Studio or Transact-SQL, all connections except the one that is setting the read-only flag are stopped. After the database switches to read/write, other connections are enabled.
Certain timer jobs do not work correctly in a farm that is running read-only content databases. After you configure the farm to be read-only, review the Unified Logging Service (ULS) logs. If a timer job consistently fails to complete, you might want to disable that job so that you do not have increasingly large logs in your farm. The timer jobs listed in the following procedure do not work correctly. You might encounter other jobs that do not work correctly.
Important
To perform this procedure, you must be a member of the Farm Administrators SharePoint group.
Disable timer jobs
In SharePoint Central Administration, click the Operations tab.
In the Global Configuration section, click Timer job definitions.
For each of the following listed timer jobs, click the job in the list, click Disable, and then click OK.
Bulk workflow task processing
Change Log
Database Statistics
Dead Site Delete
Disk Quota Warning
Immediate Alerts
Recycle Bin
Site Collection: Delete
Usage Analysis
Variations Propagate Page Job Definition
Variations Propagate Site Job Definition
Windows SharePoint Services Watson Policy Update
Workflow
Workflow Auto Cleanup
Workflow Failover
User experience on read-only sites
On farms that are running Windows SharePoint Services 3.0 with SP2, the site collection that is associated with a read-only content database is also set to be read-only. The user interface is modified so that users cannot perform tasks that require writing to the database. The elements of the user interface that are unavailable are listed in the following table.
Object | Interface elements removed when read-only |
---|---|
Site Actions menu |
Create page Edit page |
Document libraries |
New menu Upload menu Settings menu |
Lists |
New menu Settings menu |
Site information and site settings |
New user Site group membership Alert Save as custom template Create group |
Some options that are not available in a read-only database still appear in the interface. Users will receive error messages if they attempt to perform these actions. These actions are listed in the following table.
Component or area | Type of operation or action | Behavior or error message |
---|---|---|
Site information and site settings |
You try to change the title or the description of the site on the Change Site Title and Description: "SiteName" page. |
The title is not changed. You see the SharePoint Access Denied page. |
Subwebs |
You try to create a subweb. |
You see the SharePoint Access Denied page. |
On farms that are not running Windows SharePoint Services 3.0 with SP2 users will receive error messages when they perform certain operations that write information to the read-only database. For detailed information about the error messages, see KB894631: Using Microsoft Windows SharePoint Services with a content database that is configured as read-only in Microsoft SQL Server (https://go.microsoft.com/fwlink/?LinkID=117362).
See Also
Other Resources
Using database mirroring (Office SharePoint Server) (white paper)