Move content databases between instances of SQL Server (Search Server 2008)

Applies To: Microsoft Search Server 2008

 

Topic Last Modified: 2009-08-18

You can move content databases between instances of Microsoft SQL Server 2005, from any server running Microsoft Search Server 2008 to any server running Search Server 2008, or from one Search Server 2008 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 Search Server 2008.

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 Microsoft Office Servers, 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 all databases (Search Server 2008) and Protecting and restoring the farm (Search Server 2008).

Move content databases between instances of SQL Server

In the move process, you will use Search Server 2008 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. Using Search Server 2008 tools, remove the content database from the Search Server 2008 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 Search Server 2008 tools, add the content database to the destination Search Server 2008 Web application. Be sure that you use the exact same name to reattach the content database. Otherwise, Search Server 2008 will create a new database.

  6. By using Search Server 2008 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 dbowner fixed database role for the database on the source running SQL Server 2005 or instance of SQL Server, to detach the database.

  • If you are moving the databases from one farm to another 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.

  • 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.

  2. On the Manage Content Databases page, click the content database 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, point to Tasks, and then click Detach. Repeat this step for each content database that you want to move.]

    Note

    Use this procedure to move only content databases. 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 .mdf and .ldf files for the database you want to move 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 click OK.

  12. Repeat steps 10 and 11 for each content database that 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, verify that the Web Application menu displays the correct Web application.

  16. In the Database Name box, type the exact name of the transferred content database, and then click OK.

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

  18. Start a full crawl of each of the transferred content databases. For more information about starting a full-crawl, see Start a full crawl (Office SharePoint Server 2007).

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 where the Stsadm command-line tool is located: %COMMONPROGRAMFILES%\Microsoft Shared\Web server extensions\12\Bin.

    Important

    If you have installed a software update that includes the Infrastructure Update for Office Servers (https://go.microsoft.com/fwlink/?LinkID=121886&clcid=0x419), you must not run the preparetomove operation. Skip step 2 and proceed to step 3.

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

    stsadm -o preparetomove –contentdb <content database name>

    To determine the database name, use the enumcontentdbs operation.

    For more information about the preparetomove operation, see Preparetomove: Stsadm operation (Office SharePoint Server).

  3. 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 (Office SharePoint Server).

    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.

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

  5. Right-click the content database that you want to detach, point to Tasks, and then click Detach. Repeat for each content database that you want to move.

    Note

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

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

  7. Select the files, and then either copy or move them to the destination directory.

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

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

  10. 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.

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

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

  13. 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 operation for each content database you want to move. You can create a batch script to do this.

  14. Start a full crawl of each of the transferred content databases. For more information about starting a full-crawl, see Start a full crawl (Office SharePoint Server 2007).

See Also

Concepts

Move content databases (Search Server 2008)
Move content database from Windows Internal Database or SQL Server Express Edition to an instance of SQL Server (Search Server 2008)