Move content databases between instances of SQL Server (Windows SharePoint Services 3.0)

Applies To: Windows SharePoint Services 3.0

 

Topic Last Modified: 2008-09-02

You can move content databases between instances of Microsoft SQL Server 2005, from any server running Windows SharePoint Services 3.0 to any other server running Windows SharePoint Services 3.0, or from one Windows SharePoint Services 3.0 Web application to another.

Important

This article covers moving content databases only and does not provide information about moving other databases that are associated with Windows SharePoint Services 3.0.

Important

If you detach and reattach a content database, be aware that the next time the content within that content database is crawled a full crawl will occur even if an incremental crawl has been requested. Because a full crawl re-crawls all content that the crawler encounters, regardless of whether that content has been previously crawled, full crawls can take significantly more time to complete than incremental crawls.

If you are running the Infrastructure Update for Windows SharePoint Services 3.0, the identifier (ID) of each content database is retained when you restore or reattach the database by using built-in tools. Default change log retention behavior when using built-in tools is as follows

  • The change logs for all databases are retained when you restore a farm.

  • The change log for a content database is retained when you reattach the database.

  • The change log for a content database is NOT retained when you restore just the content database.

When a database ID and change log are retained, Search continues crawling based on the regular schedule defined by crawl rules. When a change log is not retained, Search performs a full crawl during the next scheduled crawl.

For more information, see Move content databases (Windows SharePoint Services 3.0) and Protecting and restoring the farm (Windows SharePoint Services 3.0).

If you are restoring to a different farm you must make the database access account a member of the Administrators group on the database server during the restore process. This is required for the account to replicate the security setting for the databases. This access level can be removed after the restore process is complete.

Move content databases between instances of SQL Server

In the move process, you will use Windows SharePoint Services 3.0 tools and SQL Server 2005 tools. You can use either the SharePoint Central Administration Web site or the Stsadm command-line tool. The following procedures document the steps for both tools. The process involves the following phases:

  1. By using Windows SharePoint Services 3.0 tools, remove the content database from the Windows SharePoint Services 3.0 Web application. Removing the content database does not delete the database but only removes the association of the database with the Web application. This task is analogous to detaching a database in SQL Server in that the content of the database remains intact.

    Note

    Record the exact name of the content database. If you are moving or copying several content databases from more than one Web application, record which content databases are associated with each Web application.

  2. By using SQL Server 2005 tools, detach the database from the source instance.

  3. Copy or move the .mdf and .ldf files from the source directory to the destination directory.

  4. By using SQL Server 2005 tools, reattach the database to the destination instance.

  5. By using Windows SharePoint Services 3.0 tools, add the content database to the destination Windows SharePoint Services 3.0 Web application. Be sure that you use the exact same name to reattach the content database. Otherwise, Windows SharePoint Services 3.0 will create a new database.

  6. By using Windows SharePoint Services 3.0 tools, perform a full crawl of the newly reattached content database.

Important

Membership in the Administrators group on the local computers is required to complete this procedure. You must have at least the following roles in SQL Server 2005:
The db_owner fixed database role for the database on the source server running SQL Server 2005 or instance of SQL Server, to detach the database.
The dbcreater fixed server role on the destination server running SQL Server 2005 or instance of SQL Server, to attach the database.

Note

Record the exact name of the content database. If you are moving or copying several content databases from more than one Web application, record which content database is associated with each Web application.

Move content databases between instances of SQL Server by using Central Administration

  1. In Central Administration, on the Application Management page, in the SharePoint Web Application Management section, click Content databases.

    Note

    Record the exact name of the content database. If you are moving or copying several content databases from more than one Web application, record which content databases are associated with each Web application.

  2. On the Manage Content Databases page, click the content database that you want to move.

    Note

    If the content database does not appear, it might be associated with another Web application. To select another Web application, on the Web Application menu, click Change Web Application.

  3. On the Manage Content Database Settings page, in the Remove Content Database section, select the Remove content database check box, and then click OK.

    Note

    Removing the content database does not delete the database; it only removes the association of the database with the Web application.

  4. Repeat steps 2 and 3 for each content database that you want to move.

  5. In SQL Server 2005 Management Studio, open the source instance of SQL Server, and then expand the Databases node.

  6. Right-click the content database that you want to detach, point to Tasks, and then click Detach. Repeat this step for each content database you are moving.

    Note

    You can use this procedure to move content databases only. Do not detach any other databases.

  7. In Windows Explorer, browse to the location of the .mdf and .ldf files for the content databases.

  8. Select the files and either copy or move them to the destination directory.

  9. In SQL Server 2005 Management Studio, open the destination instance of SQL Server.

  10. Right-click the Databases node, point to Tasks, and then click Attach.

  11. In the Attach Database dialog box, browse to the location to which you transferred the .mdf and .ldf files, select the .mdf file for the database you want to attach, and then click OK.

  12. Repeat steps 10 and 11 for each content database you are moving.

  13. In Central Administration, on the Application Management page, in the SharePoint Web Application Management section, click Content databases.

  14. On the Manage Content Databases page, click Add a content database.

  15. On the Add Content Database page, type the exact name of the transferred content database, and then click OK.

  16. Repeat steps 14 and 15 for each database you are adding. Be sure that you select the correct Web application from the Web Application menu for each database.

  17. Use the Stsadm Spsearch operation to start a full crawl of the content databases that you moved. To do this, on the drive where SharePoint Products and Technologies is installed, change to the following directory: %COMMONPROGRAMFILES%\Microsoft shared\Web server extensions\12\Bin. At a command prompt, type the following command, and then press ENTER:

    Stsadm -o spsearch -action fullcrawlstart

    For more information about the Spsearch operation, see Spsearch: Stsadm operation (Windows SharePoint Services).

Move content databases between instances of SQL Server by using the Stsadm command-line tool

  1. On the drive where SharePoint Products and Technologies is installed, change to the following directory: %COMMONPROGRAMFILES%\Microsoft shared\Web server extensions\12\Bin.

  2. Type the following command, and then press ENTER:

    stsadm -o deletecontentdb -url <URL name> -databasename <database name> -databaseserver <database server name>

    For more information about the deletecontentdb operation, see Deletecontentdb: Stsadm operation (Windows SharePoint Services).

    Note

    You must perform this operation for each content database you want to move. Removing the content database does not delete the database. The operation only removes the association of the database with the Web application.

  3. In SQL Server 2005 Management Studio, open the source instance of SQL Server and expand the Databases node.

  4. Right-click the content database you want to move, point to Tasks, and then click Detach. Repeat for each content database you are moving.

    Note

    You can use this procedure to move content databases only. Do not detach any other databases.

  5. In Windows Explorer, browse to the location of the .mdf and .ldf files for the content databases.

  6. Select the .mdf and .ldf files and either copy or move them to the destination directory.

  7. In SQL Server 2005 Management Studio, open the source instance of SQL Server.

  8. Right-click the Databases node, point to Tasks, and then click Attach.

  9. In the Attach Database dialog box, browse to the location to which you transferred the .mdf and .ldf files, select the .mdf file for the database you want to attach, and then click OK.

  10. Repeat steps 8 and 9 for each content database you are moving.

  11. Open the command line, and then change the directory to %COMMONPROGRAMFILES%\Microsoft shared\Web server extensions\12\Bin.

  12. Type the following command, and then press ENTER:

    stsadm -o addcontentdb -url <URL name> -databasename <database name> [-databaseserver <database server name>] [-databaseuser <database user name>] [-databasepassword <database password>] [-sitewarning <site warning count>] [-sitemax <site max count>]

    For more information about the addcontentdb operation, see Addcontentdb: Stsadm operation (Windows SharePoint Services).

    Note

    You must perform this command for each content database you want to move.

  13. Use the Stsadm Spsearch operation to start a full crawl of the content databases that you moved. To do this, type the following command, and then press ENTER:

    stsadm -o spsearch -action fullcrawlstart

    For more information about the Spsearch operation, see Spsearch: Stsadm operation (Windows SharePoint Services).

See Also

Concepts

Move content databases (Windows SharePoint Services 3.0)
Migrate content databases from Windows Internal Database to an instance of SQL Server (Windows SharePoint Services 3.0)