在 SharePoint Server 中附加或分离内容数据库

适用于:yes-img-132013 yes-img-162016 yes-img-192019 yes-img-seSubscription Edition no-img-sopSharePoint in Microsoft 365

可使用 SharePoint 管理中心网站或 Microsoft PowerShell 来附加或分离 SharePoint Server 内容数据库

开始之前

在开始此操作之前,请查看以下信息:

  • 若要在创建新的内容数据库的同时附加它,SharePoint 场服务帐户必须是 SQL Server dbcreator 固定服务器角色的成员。 若要将内容数据库附加到 Web 应用程序,SharePoint 场服务帐户必须具有内容数据库的 db_owner 权限。

  • 如果数据库已存在,则它必须与 SharePoint Server 2016 场的版本相同,否则此操作将失败。 若要附加与服务器场具有不同版本的内容数据库,可以使用下节中的使用 Windows PowerShell 附加或分离内容数据库过程。

附加和分离内容数据库

出于以下原因,您可能需要附加或分离内容数据库。 您想要为新网站集添加新的内容数据库,让内容数据库保持在易于管理的大小。 您正在从另一个服务器场还原内容数据库,并希望它包含的网站可以从 Web 应用程序进行访问。 您已在内容数据库外部存档网站集,然后从 Web 应用程序分离内容数据库。 有关详细信息,请参阅Move site collections between databases in SharePoint Server

添加数据库的步骤与分离数据库的步骤非常相似。 有关如何添加数据库的详细信息,请参阅Add content databases in SharePoint Server

使用管理中心附加内容数据库

  1. 确认用于执行此操作的用户帐户是 SharePoint 组“Farm Administrators”的成员。

  2. 启动管理中心。

  3. 在 SharePoint 管理中心网站上,单击“应用程序管理”。

  4. 在"应用程序管理"页上的"数据库"部分,单击"管理内容数据库"。

  5. 在"管理内容数据库"页上,单击"添加内容数据库"。

  6. 在“添加内容数据库”页上:

  • 使用“Web 应用程序”下拉菜单来选择想要附加内容数据库的 Web 应用程序。

  • 指定用于托管数据库的数据库服务器。

  • 指定数据库名称。 如果数据库不存在,则会创建一个。

  • 为数据库指定身份验证方法,并提供帐户名和密码(如果使用 SQL 身份验证)。

    注意

    帐户名和密码必须已作为 SQL Server 登录而存在。 建议您使用 Windows 身份验证,而不是 SQL 身份验证,因为默认情况下,SQL 身份验证会向运行 SQL Server 的计算机发送未经加密的密码。 如果使用 SQL 身份验证,SQL 帐户需要具有与 SharePoint 场服务帐户相同的 SQL 权限。

  • 单击“确定”

使用管理中心分离内容数据库

  1. 确认执行此过程的用户帐户是 SharePoint 组“服务器场管理员”的成员。

  2. 在 SharePoint 管理中心网站上,单击"应用程序管理"。

  3. 在"应用程序管理"页上的"数据库"部分,单击"管理内容数据库"。

  4. 选择想要分离内容数据库的 Web 应用程序。

  5. 单击想要分离的内容数据库。

  6. 在“管理内容数据库设置”页上,选中“删除内容数据库”复选框。

    如果内容数据库包含数据,您将收到警告。 单击“确定”继续操作。

  7. 单击"确定"确认分离,或单击"取消"停止操作,而不分离数据库。

    在管理中心分离内容数据库后,内容数据库在 SQL Server 中仍然存在。 如果想要永久删除内容数据库,必须使用 SQL Server 过程来执行。

使用 PowerShell 附加或分离内容数据库

  1. 确认您具有以下成员身份:
  • SQL Server 实例上的 securityadmin 固定服务器角色。

  • 要更新的所有数据库上的 db_owner 固定数据库角色。

  • 运行 PowerShell cmdlet 的服务器上的 Administrators 组。

    管理员可以使用 Add-SPShellAdmin cmdlet 授予使用 SharePoint Server cmdlet 的权限。

    注意

    [!注意] 如果您不具有这些权限,请联系您的安装管理员或 SQL Server 管理员来请求权限。 有关 PowerShell 权限的其他信息,请参阅 Add-SPShellAdmin

  1. 打开“SharePoint 命令行管理程序”

  2. 在 PowerShell 命令提示符处,键入适当的命令

    若要附加现有内容数据库,请执行下列操作:

    Mount-SPContentDatabase "<ContentDb>" -DatabaseServer "<DbServer>" -WebApplication http://SiteName
    

    其中:

    • <ContentDb> 是要附加的内容数据库。

    • <DbServer> 是数据库服务器的名称。

    • http://SiteName 是要附加内容数据库的 Web 应用程序的名称。

    若要分离内容数据库,请执行下列操作:

    Dismount-SPContentDatabase "<ContentdBName>"
    

    其中 <ContentdBName> 是内容数据库的名称。

重要

如果有多个内容数据库具有相同名称,则必须在此命令中使用内容数据库 GUID,而不是使用内容数据库名称。 若要检索内容数据库的 GUID,请运行不带参数的 Get-SPContentDatabase cmdlet。

Dismount-SPContentDatabase cmdlet 会从 Web 应用程序中分离内容数据库,但是不会从 SQL Server 中删除内容数据库。 分离内容数据库后,无法使用 PowerShell 将其删除。 只能使用 SQL Server 工具将其删除。 如果想要在分离内容数据库的同时将其从 SQL Server 中删除,请使用 Remove-SPContentDatabase cmdlet。

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

注意

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

另请参阅

其他资源

Get-SPContentDatabase

New-SPContentDatabase

Remove-SPContentDatabase