在 SQL Server 的实例之间移动内容数据库 (Search Server 2008)

更新时间: 2009年8月

应用到: Microsoft Search Server 2008

 

上一次修改主题: 2009-08-18

您可以在 Microsoft SQL Server 2005 的实例之间移动内容数据库,即从运行 Microsoft Search Server 2008 的任一台服务器移到运行 Search Server 2008 的任何服务器上,或者从一个 Search Server 2008 Web 应用程序移到另一个应用程序中。

Important重要信息
本文仅介绍了移动内容数据库,并未提供有关移动与 Search Server 2008 相关联的其他数据库的信息。
Important重要信息
如果您断开与内容数据库的连接并重新连接该数据库,请注意,该内容数据库中的内容在下次被爬网时,将会出现完全爬网,即使已请求了增量爬网也是如此。因为完全爬网将会对爬网程序遇到的所有内容进行重新爬网(无论这些内容先前是否已被爬网),所以完全爬网所需的时间明显多于增量爬网。

如果您运行的是 Microsoft Office Server 的基础结构更新,则当您使用内置工具还原或重新附加数据库时,将保留每个内容数据库的标识符 (ID)。使用内置工具时的默认更改日志保留行为如下所示:

  • 还原服务器场时,保留所有数据库的更改日志。

  • 重新附加数据库时,保留内容数据库的更改日志。

  • 仅还原内容数据库时,不保留内容数据库的更改日志。

当保留数据库 ID 和更改日志时,搜索将根据爬网规则定义的定期计划继续爬网。当不保留更改日志时,搜索将在下一个预定爬网过程中执行完全爬网。

有关详细信息,请参阅移动所有数据库 (Search Server 2008)保护和还原服务器场 (Search Server 2008)

在 SQL Server 的实例之间移动内容数据库

在移动过程中,您将用到 Search Server 2008 工具和 SQL Server 2005 工具。可以使用 SharePoint 管理中心网站或 Stsadm 命令行工具。以下过程记录了针对这两种工具的步骤。此过程涉及下列阶段:

  1. 使用 Search Server 2008 工具,从 Search Server 2008 Web 应用程序中删除内容数据库。删除内容数据库并不会删除相应的数据库,而只是移除该数据库与 Web 应用程序的关联。此任务类似于在 SQL Server 中分离数据库,而数据库的内容保持不变。

    提示

    记录内容数据库的确切名称。如果要从多个 Web 应用程序中移动或复制若干个内容数据库,请记录与每个 Web 应用程序相关联的内容数据库。

  2. 通过使用 SQL Server 2005 工具,从源实例中分离数据库。

  3. 将源目录中的 .mdf 和 .ldf 文件复制或移到目标目录中。

  4. 通过使用 SQL Server 2005 工具,将数据库重新附加到目标实例中。

  5. 通过使用 Search Server 2008 工具,将内容数据库添加到目标 Search Server 2008 Web 应用程序中。一定要使用完全相同的名称来重新附加内容数据库。否则,Search Server 2008 将创建新的数据库。

  6. 通过使用 Search Server 2008 工具,执行针对最近重新附加的内容数据库的完全爬网。

Important重要信息
要求本地计算机上的 Administrators 组中的成员资格来完成此过程。您至少必须拥有 SQL Server 2005 中的以下角色:
  • 运行 SQL Server 2005 或 SQL Server 实例的源上的数据库的 dbowner 固定数据库角色,以便分离数据库。

  • 如果要将数据库从一个服务器场移到另一个服务器场中,则在还原过程中,您必须将数据库访问帐户指定为数据库服务器上的 Administrators 组的成员。为了让该帐户能够复制数据库的安全设置,此操作是必需的。在还原过程完成后,可以删除此访问级别。

  • 运行 SQL Server 2005 或 SQL Server 实例的目标服务器上的 dbcreater 固定服务器角色,以便附加数据库。

提示

记录内容数据库的确切名称。如果要从多个 Web 应用程序中移动或复制若干个内容数据库,请记录与每个 Web 应用程序相关联的内容数据库。

使用管理中心在 SQL Server 实例之间移动内容数据库

  1. 在管理中心的“应用程序管理”页上,单击“SharePoint Web 应用程序管理”部分中的“内容数据库”。

  2. 在“管理内容数据库”页上,单击要移动的内容数据库。

    提示

    如果未显示相应的内容数据库,则可能是另一个 Web 应用程序与之相关联。若要选择另一个 Web 应用程序,请在“Web 应用程序”菜单上单击“更改 Web 应用程序”。

  3. 在“管理内容数据库设置”页上的“删除内容数据库”部分中,选中“删除内容数据库”复选框,然后单击“确定”。

    提示

    删除内容数据库并不会删除相应的数据库,而只是删除该数据库与 Web 应用程序的关联。

  4. 对于每个要移动的内容数据库,重复步骤 2 和步骤 3。

  5. 在 SQL Server 2005 Management Studio 中,打开 SQL Server 的源实例,然后展开“数据库”节点。

  6. 右键单击该内容数据库,指向“任务”,然后单击“分离”。对于每个要移动的内容数据库重复此步骤。

    提示

    使用此过程只能移动内容数据库,而不会分离任何其他数据库。

  7. 在 Windows 资源管理器中,浏览至内容数据库的 .mdf 和 .ldf 文件的位置。

  8. 选择要移动的数据库的 .mdf 和 .ldf 文件,并将这些文件复制或移动到目标目录中。

  9. 在 SQL Server 2005 Management Studio 中,打开 SQL Server 的目标实例。

  10. 右键单击“数据库”节点,指向“任务”,然后单击“附加”。

  11. 在“附加数据库”对话框中,浏览到您将 .mdf 和 .ldf 文件转移到的位置,选择要附加的数据库的 .mdf 文件,然后单击“确定”。

  12. 对于每个要移动的内容数据库,重复步骤 10 和步骤 11。

  13. 在管理中心的“应用程序管理”页上,单击“SharePoint Web 应用程序管理”部分中的“内容数据库”。

  14. 在“管理内容数据库”页上,单击“添加内容数据库”。

  15. 在“添加内容数据库”页上,验证“Web 应用程序”菜单上显示的 Web 应用程序是否正确。

  16. 在“数据库名称”框中,键入所迁移的内容数据库的确切名称,然后单击“确定”。

  17. 对于每个要添加的数据库,重复步骤 15 和步骤 16。确保从“Web 应用程序”菜单中为每个数据库选择正确的 Web 应用程序。

  18. 针对所迁移的每个内容数据库启动完全爬网。有关启动完全爬网的详细信息,请参阅启动完全爬网 (Office SharePoint Server 2007)

使用 Stsadm 命令行工具在 SQL Server 实例之间移动内容数据库

  1. 在安装 SharePoint 产品和技术的驱动器上,转到 Stsadm 命令行工具所在的以下目录:%COMMONPROGRAMFILES%\Microsoft Shared\Web server extensions\12\Bin。

    Important重要信息
    如果已经安装了包含 Office Server 的基础结构更新 (https://go.microsoft.com/fwlink/?linkid=121886&clcid=0x804) 的软件更新,则不能运行 preparetomove 操作。请跳过步骤 2 并继续执行步骤 3。
  2. 键入以下命令,然后按 Enter:

    stsadm -o preparetomove –contentdb <内容数据库名称>

    若要确定数据库名称,请使用 enumcontentdbs 操作。

    有关 preparetomove 操作的详细信息,请参阅 Preparetomove:Stsadm 操作 (Office SharePoint Server)

  3. 键入以下命令,然后按 Enter:

    stsadm -o deletecontentdb -url <URL 名称> -databasename <数据库名称> -[databaseserver <数据库服务器名称>]

    有关 deletecontentdb 操作的详细信息,请参阅 Deletecontentdb:Stsadm 操作 (Office SharePoint Server)

    提示

    必须针对每个要移动的内容数据库执行此操作。删除内容数据库并不会删除相应的数据库。此操作只会移除数据库与 Web 应用程序的关联。

  4. 在 SQL Server 2005 Management Studio 中,打开 SQL Server 的源实例,然后展开“数据库”节点。

  5. 右键单击要分离的内容数据库,指向“任务”,然后单击“分离”。对每个要移动的内容数据库重复此步骤。

    提示

    使用此过程只能移动内容数据库,而不会分离任何其他数据库。

  6. 在 Windows 资源管理器中,浏览至内容数据库的 .mdf 和 .ldf 文件的位置。

  7. 选择文件,然后将其复制或移动到目标目录中。

  8. 在 SQL Server 2005 Management Studio 中,打开 SQL Server 的目标实例。

  9. 右键单击“数据库”节点,指向“任务”,然后选择“附加”。

  10. 在“附加数据库”对话框中,浏览至您将 .mdf 和 .ldf 文件转移到的位置,选择要附加的数据库的 .mdf 文件,然后单击“确定”。

  11. 对于每个要移动的内容数据库,重复步骤 8 和步骤 9。

  12. 在安装 SharePoint 产品和技术的驱动器上,转到以下目录:%COMMONPROGRAMFILES%\Microsoft shared\Web server extensions\12\Bin

  13. 键入以下命令,然后按 Enter:

    stsadm -o addcontentdb -url <URL 名称> -databasename <数据库名称>[-databaseserver <数据库服务器名称>] [-databaseuser <数据库用户名称>][-databasepassword <数据库密码>][-sitewarning <网站警告计数>] [-sitemax <网站最大计数>]

    有关 addcontentdb 操作的详细信息,请参阅 Addcontentdb:Stsadm 操作 (Windows SharePoint Services)

    提示

    必须针对每个要移动的内容数据库执行此操作。为此,您可以创建批处理脚本。

  14. 针对所迁移的每个内容数据库启动完全爬网。有关启动完全爬网的详细信息,请参阅启动完全爬网 (Office SharePoint Server 2007)

另请参阅

概念

移动内容数据库 (Search Server 2008)
将内容数据库从 Windows Internal Database 或 SQL Server Express Edition 移动到 SQL Server 的实例 (Search Server 2008)