附加数据库并升级到 SharePoint Foundation 2010

 

适用于: SharePoint Foundation 2010

上一次修改主题: 2016-11-30

在使用数据库附加升级方法从 Windows SharePoint Services 3.0 升级到 Microsoft SharePoint Foundation 2010 时,只升级适用于您的环境的内容,而不升级配置设置。如果要更改硬件或者要在升级过程中重新配置服务器场拓扑,则使用数据库附加升级方法会非常有用。有关如何选择升级方法的详细信息,请参阅确定升级方法 (SharePoint Foundation 2010)

该过程的第一步是建立用于承载升级内容的新环境。如果尚未设置和配置新环境,请按照准备新的 SharePoint Foundation 环境中的步骤进行设置。

建立新环境后,可以使用本文中的过程分离数据库然后重新连接数据库以执行实际的升级。本文包含执行标准数据库附加升级和使用只读数据库的数据库附加升级所需的步骤。

本文内容:

  • 过程概述

  • 开始之前

  • 将以前版本的数据库设置为只读(使用只读数据库的数据库附加)

  • 使用 SQL Server 工具备份以前版本的数据库

  • 分离以前版本的数据库(标准数据库附加)

  • 还原数据库的备份副本(使用只读数据库的数据库附加)

  • 验证自定义组件

  • 将内容数据库附加到 Web 应用程序

  • 验证:验证第一个数据库的升级

  • 附加其余数据库

  • 验证:验证其他数据库的升级

备注

升级失败的一个常见原因是,环境中缺少自定义的功能、解决方案或其他元素。在开始升级之前,请确保您需要的任何自定义元素均安装在前端 Web 服务器上。使用升级前检查程序(对于数据库附加升级,还可使用 test-spcontentdatabaseWindows PowerShell cmdlet)来确定网站可能正使用的任何自定义元素。有关详细信息,请参阅“使用试验升级查找潜在问题”一文中的确定和安装自定义项

有关使用数据库附加升级方法进行升级的常规过程的详细信息,请参阅升级过程概述 (SharePoint Foundation 2010)

过程概述

当使用数据库附加升级进行升级时,可在旧服务器场中分离数据库,然后将它们附加到新服务器场。在将数据库附加到新服务器场时,升级过程将运行并升级整个数据库。数据库附加升级过程与就地升级过程类似,区别在于数据库附加升级过程是手动执行的,并且是在不同环境中执行的。

如果要保留原始服务器场并允许用户继续访问其数据,则必须将数据库设置为只读,然后附加数据库的备份副本。

备注

将数据库从一台运行 Microsoft SQL Server 的计算机移到另一台运行 SQL Server 的计算机,这个特定的过程部分在本文中称为已规划的重定位。有关已规划的重定位的详细信息,请参阅移动用户数据库 (https://go.microsoft.com/fwlink/?linkid=148425&clcid=0x804)。

有关升级过程的一般概述,请参阅升级过程概述 (SharePoint Foundation 2010)

开始之前

在开始数据库附加升级之前,请查看以下有关权限、硬件要求和软件要求的信息。请按照指定的步骤安装或配置必备软件或修改设置。

将以前版本的数据库设置为只读(使用只读数据库的数据库附加)

如果使用只读数据库混合方法进行升级,请在备份数据库之前将以前版本的数据库设置为只读。在任何类型的数据库附加升级中,也可以将数据库临时设置为只读,以确保在备份中捕获所有数据,以便还原和升级环境的当前状态。如果将数据库设置为只读,用户可以继续查看内容,但无法添加或更改内容。

重要

无法升级设置为只读的数据库。如果采用的是使用只读数据库的数据库附加,则应还原数据库的副本并对副本执行升级。如果没有采用此方法,但希望在备份当前数据时将内容数据库临时设置为只读,请确保在附加并升级数据库之前将数据库设置为可读写。

重要

在执行此过程之前,确保运行了升级前检查程序。有关详细信息,请参阅运行升级前检查程序 (SharePoint Foundation 2010)

在 SQL Server 2000 中将数据库设置为只读

  1. 在 SQL Server 企业管理器中,右键单击要设置为只读的数据库的名称,然后单击“属性”。

  2. 在“属性”对话框中,单击“选项”选项卡。

  3. 在“访问”下,选中“只读”复选框,然后单击“确定”。

在 SQL Server 2005 中将数据库设置为只读

  1. 在 SQL Server Management Studio 中,右键单击要设置为只读的数据库的名称,然后单击“属性”。

  2. 在“选择页”部分,单击“选项”。

  3. 在右侧窗格中,在“其他选项”下的“状态”部分,单击“数据库为只读”旁边的箭头,然后选择“True”。

在 SQL Server 2008 中将数据库设置为只读

  1. 在 SQL Server Management Studio 中,在对象资源管理器中连接到数据库引擎的实例,展开服务器,然后展开“数据库”。

  2. 选择要配置为只读的数据库,右键单击它,然后单击“属性”。

  3. 在“数据库属性”对话框中,在“选择页”部分单击“选项”。

  4. 在右侧窗格中,在“其他选项”下的“状态”部分,单击“数据库为只读”旁边的箭头,然后选择“True”。

可以使用 Transact-SQL 配置 READ_ONLY 数据库可用性选项。有关如何使用 ALTER DATABASE 语句的 SET 子句的详细信息,请参阅设置数据库选项 (https://go.microsoft.com/fwlink/?linkid=148362&clcid=0x804)。

使用 SQL Server 工具备份以前版本的数据库

按照相应的步骤在 SQL Server 2000、SQL Server 2005 或 SQL Server 2008 中备份数据库。对服务器场中的每个内容数据库重复这些步骤。

由于将在新服务器场中重新创建配置或管理内容数据库,因此无需备份这些数据库。有关 Windows SharePoint Services 3.0 服务器场中可能拥有的数据库类型的详细信息,请参阅数据库类型和说明 (Windows SharePoint Services 3.0)

在此过程结束时,将创建只读内容数据库的副本。

在 SQL Server 2000 中备份数据库

  1. 在数据库服务器上,单击“开始”,指向“所有程序”,再指向“Microsoft SQL Server”,然后单击“企业管理器”。

  2. 在 SQL Server 企业管理器中,展开“Microsoft SQL Server”。

  3. 展开“SQL Server 组”。

  4. 展开“(local) (Windows NT)”。

  5. 展开“数据库”。

  6. 右键单击要备份的数据库,指向“所有任务”,然后单击“备份数据库”。

  7. 在“SQL Server 备份”对话框的“名称”框中,为备份指定名称,然后在“备份”区域中选择“数据库 - 完全”。

  8. 在“目标”区域中选择一个现有目标或执行以下操作:

    1. 单击“添加”。

    2. 在“选择备份目标”框中,选择“文件名”,然后单击“文件名”框旁边的“浏览”。

    3. 在“备份设备位置 - (本地)”对话框的“文件名”框中,键入文件名,然后单击“确定”。

    4. 再次单击“确定”,关闭“选择备份目标”对话框。

  9. 单击“确定”开始备份过程。

  10. 单击“确定”确认备份过程已完成。

重复上述过程以备份环境中由 Windows SharePoint Services 3.0 使用的所有其他内容数据库。

在 SQL Server 2005 中备份数据库

  1. 在数据库服务器上,单击“开始”,指向“所有程序”,再指向“Microsoft SQL Server 2005”,然后单击“SQL Server Management Studio”。

  2. 在“连接到服务器”框中,填写连接信息,然后单击“连接”。

  3. 连接到 SQL Server 2005 数据库引擎的相应实例后,在对象资源管理器中通过展开服务器名称来展开服务器树。

  4. 展开“数据库”,右键单击要备份的数据库,指向“任务”,然后单击“备份”。此时将出现“备份数据库”对话框。

  5. 在“源”区域的“数据库”框中验证数据库名称。

  6. 在“备份类型”框中,选择“完全”。

  7. 在“备份组件”下,选择“数据库”。

  8. 在“备份集”区域内的“名称”文本框中,接受建议的默认备份集名称,或者为备份集键入其他名称。

  9. 在“目标”区域中,通过选择“磁盘”或“磁带”来指定备份目标的类型,然后指定目标。若要创建其他目标,请单击“添加”。

  10. 单击“确定”开始备份过程。

重复上述过程以备份环境中由 Windows SharePoint Services 3.0 使用的所有其他内容数据库。

在 SQL Server 2008 中备份数据库

  1. 在数据库服务器上,单击“开始”,指向“所有程序”,再指向“Microsoft SQL Server 2008”,然后单击“SQL Server Management Studio”。

  2. 在“连接到服务器”框中,填写连接信息,然后单击“连接”。

  3. 在连接到 SQL Server 2008 数据库引擎的相应实例后,在对象资源管理器中展开服务器名称。

  4. 展开“数据库”,右键单击要备份的数据库,指向“任务”,然后单击“备份”。此时将出现“备份数据库”对话框。

  5. 在“源”区域的“数据库”框中验证数据库名称。

  6. 在“备份类型”框中,选择“完全”。

  7. 在“备份组件”下,选择“数据库”。

  8. 在“备份集”区域内的“名称”文本框中,接受默认的备份集名称或者键入新名称。

  9. 在“目标”区域中,通过选择“磁盘”或“磁带”来指定备份目标的类型,然后指定目标。若要创建其他目标,请单击“添加”。

  10. 单击“确定”开始备份过程。

重复上述过程以备份环境中由 Windows SharePoint Services 3.0 使用的所有其他内容数据库。

分离以前版本的数据库(标准数据库附加)

在将数据库附加到新环境并升级数据之前,需要将其从当前环境分离。在分离数据库之后,可以将它们移动到新数据库服务器上或留在现有数据库服务器上,然后将它们附加到 Web 应用程序。

重要

如果执行的是使用只读数据库的数据库附加升级,不要使用以下过程。若要继续允许用户访问其内容,需要保持数据库的附加状态,并按照下文的还原数据库的备份副本(使用只读数据库的数据库附加)一节中的步骤制作数据库的副本。

从 Web 应用程序分离内容数据库

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

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

    备注

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

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

    备注

    移除内容数据库不会删除该数据库;它只会移除数据库与 Web 应用程序的关联。

  4. 针对要分离的每个内容数据库,重复执行步骤 2 和 3。

也可以使用 deletecontentdb Stsadm 操作从 Web 应用程序分离内容数据库。有关详细信息,请参阅 Deletecontentdb:Stsadm 操作 (Windows SharePoint Services)

如果要将数据库移到不同的数据库服务器上,则还必须将数据库从 SQL Server 实例分离,然后才能移动它们并在移动之后将它们附加到 SQL Server 的新实例。

重要

如果将数据库移到不同的 SQL Server 实例,请确保验证是否正确配置了安全性。检查所用帐户是否有适当的固定角色和数据库权限,以及在跨域升级时它们是否仍是有效的帐户。

从 SQL Server 实例分离数据库并将其移到另一个 SQL Server 实例

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

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

    备注

    使用此过程以便只移动内容数据库。不要分离任何其他数据库。

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

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

  5. 在 SQL Server 2005 Management Studio 中,打开 SQL Server 的源实例。

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

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

  8. 针对要移动的每个内容数据库,重复执行步骤 6 和 7。

还原数据库的备份副本(使用只读数据库的数据库附加)

配置新服务器场后,可以在下列位置之一还原数据库的备份副本:Microsoft SQL Server 2008 R2、SQL Server 2008 Service Pack 1 (SP1) 和累积更新 2 以及 SQL Server 2005 SP3 和累积更新 3。请注意,必须还原到 SQL Server 2008 R2、SQL Server 2008 SP1 和累积更新 2 以及 SQL Server 2005 SP3 和累积更新 3 的 64 位版本。可先还原一个数据库,确认还原工作正常,然后再还原其他数据库。

下一节提供用于还原备份的过程。

在 SQL Server 2005 Enterprise Edition 中还原数据库的备份副本

  1. 在 SQL Server Management Studio 中,右键单击“数据库”,然后单击“还原数据库”。此时将出现“还原数据库”对话框。

  2. 在“还原数据库”对话框的“常规”页上,在“目标数据库”框中键入要还原的数据库的名称。

  3. 在“目标时间点”文本框中,保留默认的“(最近状态)”。

  4. 若要指定要还原的备份集的源和位置,请单击“源设备”,然后单击“浏览”以选择备份文件。

  5. 在“指定备份”对话框的“备份媒体”框中,确保选择了“文件”。

  6. 在“备份位置”区域中,单击“添加”。

  7. 在“定位备份文件”对话框中,选择要还原的文件,然后单击“确定”。

  8. 在“选择用于还原的备份集”网格中,选中最近完整备份旁边的“还原”复选框。

  9. 在“还原数据库”对话框中“选项”页上的“还原选项”下,选中“覆盖现有数据库”复选框。

  10. 单击“确定”开始还原过程。

在 SQL Server 2008 Enterprise 中还原数据库的备份副本

  1. 在连接到 SQL Server 2008 数据库引擎的相应实例后,在对象资源管理器中展开服务器名称。

  2. 右键单击“数据库”,然后单击“还原数据库”。此时将出现“还原数据库”对话框。

  3. 在“还原数据库”对话框中的“常规”页上,在“目标数据库”列表中键入要还原的数据库的名称。

  4. 在“目标时间点”文本框中,保留默认的“(最近状态)”。

  5. 若要指定要还原的备份集的源和位置,请单击“源设备”,然后单击“浏览”以选择备份文件。

  6. 在“指定备份”对话框中的“备份媒体”框中,确保选择了“文件”。

  7. 在“备份位置”区域中,单击“添加”。

  8. 在“定位备份文件”对话框中,选择要还原的文件,单击“确定”,然后在“指定备份”对话框中单击“确定”。

  9. 在“还原数据库”对话框中的“选择用于还原的备份集”网格下,选中最近完整备份旁边的“还原”复选框。

  10. 在“还原数据库”对话框中“选项”页上的“还原选项”下,选中“覆盖现有数据库”复选框。

  11. 单击“确定”开始还原过程。

验证自定义组件

在将内容数据库附加到 Web 应用程序之前,使用 Test-SPContentDatabaseWindows PowerShell cmdlet 验证您是否拥有需要用于该数据库的所有自定义组件。

使用 Windows PowerShell 验证自定义组件是否可用

  1. 验证您是否满足以下最低要求:请参阅 Add-SPShellAdmin

  2. 在“开始”菜单上,单击“所有程序”。

  3. 单击“Microsoft SharePoint 2010 产品”。

  4. 单击“SharePoint 2010 Management Shell”。

  5. 在 Windows PowerShell 命令提示符处,键入以下命令:

    Test-SPContentDatabase -Name <DatabaseName> -WebApplication <URL>
    

    其中:

    • <DatabaseName> 是要测试的数据库的名称。

    • <URL> 是将托管网站的 Web 应用程序的 URL。

有关详细信息,请参阅 Test-SPContentDatabase

将内容数据库附加到 Web 应用程序

附加内容数据库时,请确保将 Web 应用程序的根网站包括在所附加的第一个内容数据库中。换言之,在继续进行之前,检查原始服务器场中 Web 应用程序的根,以确定第一个网站集。附加包含根网站的数据库之后,可以按任意顺序为 Web 应用程序附加其他内容数据库。在附加数据库前,不需要创建任何网站集以存储内容;此过程会为您创建网站集。请确保在还原所有内容数据库之前没有添加任何新网站集。

重要

如果要跨域或林移动内容数据库或将其移动到具有不同服务帐户的另一个环境中,请在附加数据库之前确保服务帐户的权限仍然正确。

可以使用 Windows PowerShell 中的 Mount-SPContentDatabase cmdlet 或 addcontentdb Stsadm 命令将内容数据库附加到 Web 应用程序。升级时不支持使用 SharePoint 管理中心页来附加内容数据库。

确保用于附加数据库的帐户是要升级的内容数据库的 db_owner 固定数据库角色的成员。

重要

如果使用基于表单的身份验证,则需要在附加任何数据库之前为 Web 应用程序配置基于声明的身份验证。还必须创建策略为将执行数据库附加升级的用户帐户授予对 Web 应用程序的完全控制权限。
有关详细信息,请参阅为基于声明的 Web 应用程序配置基于表单的身份验证 (SharePoint Foundation 2010)

提示

无法向服务器场中多次附加同一内容数据库,即使在不同的 Web 应用程序上也是如此。内容数据库中的每个网站集都有一个关联的 GUID,此标识符在配置数据库中注册。因此,无法向服务器场中添加两次同一网站集,即使在不同的 Web 应用程序中也是如此。尽管在这种情况下您可以成功地附加数据库,但无法启动网站集。
如果在同一个服务器场中需要网站集的重复副本,请首先将包含网站集的数据库附加到单独的服务器场中,然后使用 Stsadm 备份和还原操作将网站集复制到另一个服务器场中。Stsadm 备份和还原过程将为网站集创建新的 GUID。

使用 Windows PowerShell 将内容数据库附加到 Web 应用程序

  1. 验证您是否满足以下最低要求:请参阅 Add-SPShellAdmin

  2. 在“开始”菜单上,单击“所有程序”。

  3. 单击“Microsoft SharePoint 2010 产品”。

  4. 单击“SharePoint 2010 Management Shell”。

  5. 在 Windows PowerShell 命令提示符处,键入以下命令:

    Mount-SPContentDatabase -Name <DatabaseName> -DatabaseServer <ServerName> -WebApplication <URL> [-Updateuserexperience]
    

    其中:

    • <DatabaseName> 是要升级的数据库的名称。

    • <ServerName> 是存储数据库的服务器。

    • <URL> 是将托管网站的 Web 应用程序的 URL。

    • Updateuserexperience 用于选择是更新到新用户体验还是保持旧用户体验(直观升级的一部分)。如果包括此参数,网站将设置为预览新用户体验。如果希望网站在升级后保持旧用户体验,请省略此参数。有关详细信息,请参阅规划直观升级 (SharePoint Foundation 2010)

有关详细信息,请参阅 Mount-SPContentDatabase

备注

我们建议您在执行命令行管理任务时使用 Windows PowerShell。Stsadm 命令行工具已被弃用,仍然包含该工具是为了支持与之前产品版本的兼容性。

使用 Stsadm 命令行工具将内容数据库附加到 Web 应用程序

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

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

    stsadm -o addcontentdb -url <URL> -databasename <DatabaseName>

    [-databaseserver <ServerName> ] [-databaseuser <UserName> ]

    [-databasepassword <Password> ] [-sitewarning <SiteWarningCount> ]

    [-preserveolduserexperience true/false ]

    [-sitemax <SiteMaxCount> ]

    [-assignnewdatabaseid] [-clearchangelog]

    备注

    preserveolduserexperience 参数设置为 true 时,内容数据库中的网站会在升级后保留以前版本的外观。将此参数设置为 false 时,网站会升级到新的外观。此参数的默认值为 true,即保留旧外观。
    此参数是直观升级功能的一部分。有关详细信息,请参阅规划直观升级 (SharePoint Foundation 2010)

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

验证:验证第一个数据库的升级

附加数据库后,可以使用管理中心的“升级状态”页来检查网站集的升级状态。完成升级过程之后,可以查看升级日志文件以了解升级过程中是否有任何问题。另外,还可以查看每个已升级的网站,以找出并解决与内容显示方式有关的任何问题。有关详细信息,请参阅验证升级和审阅升级后的网站 (SharePoint Foundation 2010)

查看“升级状态”页

  • 在管理中心,单击“升级和迁移”,然后单击“检查升级状态”。

打开升级日志文件

  • 升级错误日志文件和升级日志文件位于 %COMMONPROGRAMFILES%\Microsoft Shared\web server extensions\14\LOGS 中。日志按以下格式命名:Upgrade-YYYYMMDD-HHMMSS-SSS-error.log 和 Upgrade-YYYYMMDD-HHMMSS-SSS.log,其中 YYYYMMDD 是日期,HHMMSS-SSS 是时间(24 小时制的小时,然后是分钟、秒和毫秒)。升级错误日志的示例是 Upgrade-20090415-132126-374-error.log,而升级日志的示例是 Upgrade-20090415-132126-374.log。

    备注

    升级日志文件包含要升级的内容数据库的名称。

附加其余数据库

还原第一个内容数据库并通过查看升级日志文件来验证升级之后,可以继续还原和升级下一个数据库。可以在不同的命令提示符窗口中同时附加多个数据库,以同时运行多个升级过程。在成功还原并升级所有内容数据库后,可以查看网站以确保它们已正确升级。

验证:验证其他数据库的升级

升级任何其他数据库后,查看“升级状态”页以监控进度并验证升级过程是否已完成。查看日志文件以确定任何其他问题,然后查看每个已升级的网站以找出并解决与内容显示方式有关的任何问题。有关详细信息,请参阅验证升级和审阅升级后的网站 (SharePoint Foundation 2010)管理直观升级 (SharePoint Foundation 2010)

See Also

Concepts

解决升级问题 (SharePoint Foundation 2010)