不支持和支持的 SharePoint Server 数据库更改

原始 KB 数: 841057

Microsoft SharePoint Server 将数据存储在 Microsoft SQL Server 数据库中,并且它使用各种存储过程进行常规处理。 因此,SQL Server数据库对于 SharePoint Server 的成功操作非常重要。 SharePoint Server 使用 Microsoft SharePoint Server 开发团队设计的数据库结构进行测试。 然后,根据该结构批准发布。 如果更改数据库,Microsoft 无法可靠地预测对 SharePoint Server 操作的影响。 本文介绍一些不受支持和受支持的数据库更改,以及必须执行的操作。

警告

Microsoft 严格禁止对 SharePoint Server 数据库进行所有第三方更改。 如果安装或使用任何第三方工具来更改 SharePoint Server 数据库中的数据,则整个 SharePoint Server 场将不受支持。

不支持的数据库更改

不受支持的数据库更改包括但不限于以下示例:

  • 添加数据库触发器。

  • 在表中添加新索引或更改现有索引。

  • 添加、更改或删除任何主键或外键关系。

  • 更改或删除现有存储过程。

  • 直接调用现有存储过程,但以下文章中介绍的存储过程除外:

  • 添加新的存储过程,但 GDPR for SharePoint Server 中描述的存储过程除外。

  • 在 SharePoint Server 数据库的任何表中添加、更改或删除任何数据。

  • 在 SharePoint Server 数据库的任何表中添加、更改或删除任何列。

  • 更改数据库架构。

  • 将表添加到 SharePoint Server 数据库。

  • 更改数据库排序规则。

  • DBCC_CHECKDB WITH REPAIR_ALLOW_DATA_LOSS运行 命令。

    注意DBCC_CHECKDB WITH REPAIR_FAST支持运行 和 REPAIR_REBUILD 命令,因为这些命令仅更新关联数据库的索引。

  • 对 SharePoint Server 数据库运行即席查询。

  • (CDC) 启用SQL Server变更数据捕获

  • 启用SQL Server事务复制。

  • 启用SQL Server合并复制。

如果在支持调用期间发现不受支持的数据库更改,则必须至少使用以下过程之一:

  • 从不包含不支持的数据库更改的最后一个已知良好备份执行数据库还原。
  • 回滚所有数据库更改。

如果任一过程都无法执行,则必须手动恢复数据。 必须先将数据库还原到未修改的状态,然后 Microsoft SharePoint Server 支持部门才能提供任何数据迁移帮助。

如果需要更改数据库,应联系Microsoft 支持部门,以确定是否存在产品问题并应得到解决。

支持的数据库更改

对于某些特定使用方案,禁止数据库更改具有以下例外:

  • 从 SharePoint Server 管理用户界面启动的操作。
  • SharePoint Server 特定的工具 (,例如 Microsoft 直接提供的 SharePoint PowerShell cmdlet) 。
  • 通过 SharePoint Server 对象模型以编程方式进行的、符合 SharePoint Server SDK 文档的更改。
  • 符合 SharePoint Server 协议文档的活动。

Microsoft SharePoint Server 支持代理可能会提供脚本,用于在支持事件期间更改 SharePoint Server 数据库。 在这种情况下,SharePoint Server 开发团队将审查所有更改。 这可确保完成的操作不会导致数据库状态不稳定或不受支持的状态。 在支持事件期间,在 Microsoft SharePoint Server 支持代理的指导下进行的数据库更改不会导致数据库状态不受支持。 不应在支持事件之外重新应用 Microsoft SharePoint Server 支持提供的脚本或更改。

不支持的读取操作

以编程方式或手动读取 SharePoint Server 数据库可能会导致意外锁定SQL Server。 这可能会影响性能。 如果满足以下条件,则对 SharePoint Server 数据库执行的任何读取操作都被视为不受支持:

  • 读取操作使用 Microsoft SharePoint Server 开发团队或 Microsoft SharePoint Server 支持部门未提供的查询、脚本、.dll 文件等。
  • 读取操作由Microsoft 支持部门标识为解决的障碍。

在这种情况下,数据库被视为处于不受支持状态。 若要将数据库返回到受支持的状态,必须停止所有不支持的读取操作。