将 Windows Internal Database 移动到其他驱动器 (Windows SharePoint Services 3.0)

可以在不丢失数据的情况下将 Windows SharePoint Services 3.0 内容数据库和配置数据库从一个磁盘或服务器移动到另一个磁盘或服务器。如果当前磁盘上的空间不足或磁盘驱动器变得不可靠时,这可能是必需的。Windows Internal Database 仅对 Windows SharePoint Services、Active Directory Rights Management Services、UDDI Services、Windows Server Update Services 和 Windows System Resources Manager 等 Windows 角色和功能将 SQL Server 技术用作相关数据存储。 Windows Internal Database又称为 Microsoft SQL Server Express Embedded Edition。

Important重要说明:

本文仅介绍如何移动内容和配置数据库,不提供有关移动与 Windows SharePoint Services 3.0 相关的其他数据库的信息。

Important重要说明:

如果分离并重新附加了内容数据库,则需要注意的是,下一次对该内容数据库中的内容进行爬网时,将执行完全爬网,即便请求的是增量爬网也是如此。因为完全爬网会对爬网程序遇到的所有内容进行重新爬网(无论先前是否已对该内容进行了爬网),所以完全爬网完成所需的时间会明显多于增量爬网。

将内容和配置数据库移动到其他驱动器

在 Windows Internal Database 中移动数据库的过程包括以下五个主要步骤:

  • 停止受影响的服务。

  • 从 Windows SharePoint Services 3.0 分离数据库。

  • 移动数据库文件。

  • 重新附加数据库。

  • 重启服务。

在开始下面的过程之前,请务必查看以下命令行工具的选项和要求:

Note

若要完成此过程,必须至少具有承载 SharePoint 管理中心网站的本地计算机上的 Administrators 组的成员身份以及 Microsoft SQL Server 2005 Express Edition 中的 dbowner 固定数据库角色的成员身份。

使用命令行工具将数据库移动到其他驱动器

  1. 停止所有 SharePoint 服务。

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

      stsadm –o enumservices

      此时会显示所有服务的列表。

    2. 针对上一步中列出的每个服务,键入以下命令,再按 Enter:

      net stop <服务名称>

  2. 分离数据库。

    1. 在安装了 SharePoint 产品和技术的驱动器上,切换到以下目录:%Program Files%\Microsoft SQL Server\90\Tools\binn。

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

      sqlcmd -S \\.\pipe\mssql$microsoft##ssee\sql\query -E

      Sqlcmd 命令行工具使您能够在命令行中输入 SQL 查询。

    3. 在第一个查询行上,键入以下查询,再按 Enter:

      EXEC sp_detach_db @dbname = '<数据库名称>'

      其中,<数据库名称> 是要移动的数据库的名称。

      配置数据库、管理中心内容数据库和搜索数据库的名称由前缀和数据库 GUID 组成,如下面的示例所示:

      • 配置数据库的数据库名称具有以下格式:SharePoint_Config_<数据库 GUID>

      • 管理中心内容数据库的名称具有以下格式:SharePoint_AdminContent_<数据库 GUID>

      • 搜索数据库的名称具有以下格式:WSS_Search_NETSERVER_<数据库 GUID>

    4. 在下一个查询行上,键入 GO,再按 Enter。

    5. 针对要移动的每个数据库,重复执行步骤 c 和 d。

    6. 退出 Sqlcmd 命令行工具。

      1. 在第一个查询行上,键入 EXIT,再按 Enter。

      2. 在第二个查询行上,键入 GO,再按 Enter。

  3. 将数据库文件移动到新位置。

  4. 重新附加数据库和日志文件。

    1. 在安装了 SharePoint 产品和技术的驱动器上,切换到以下目录:%Program Files%\Microsoft SQL Server\90\Tools\binn。

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

      sqlcmd -S \\.\pipe\mssql$microsoft##ssee\sql\query -E

    3. 在第一个查询行上,键入以下查询,再按 Enter:

      EXEC sp_attach_db @dbname = '<数据库名称>', @filename1 = '<UNC 路径><数据库名称>.mdf', @filename2 = '<UNC 路径><数据库名称>_log.ldf'

      必须包括数据库文件 (.mdf) 和关联的日志文件 (.ldf) 的文件名。

    4. 在下一个查询行上,键入 GO,再按 Enter。

    5. 针对已移动的每个数据库,重复执行步骤 c 和 d。

    6. 退出 Sqlcmd 命令行工具。

      1. 在第一个查询行上,键入 EXIT,再按 Enter。

      2. 在下一个查询行上,键入 GO,再按 Enter。

  5. 针对在步骤 1 中停止的每个服务,键入以下命令,再按 Enter:

    net start <服务名称>

另请参见

概念

维护数据库 (Windows SharePoint Services 3.0)
规划和监控 Windows SharePoint Services 的 SQL Server 存储:性能建议和最佳做法(白皮书)
添加、拆分和合并内容数据库 (Windows SharePoint Services 3.0)
移动内容数据库 (Windows SharePoint Services 3.0)
移动所有数据库 (Windows SharePoint Services 3.0)