使用 ShowScopedebugInfo 收集 SharePoint 2013 工作流疑难解答数据

ShowScopeDebugInfo () 函数提供了一种更简单的方法来解决影响 SharePoint 2013 工作流的常见问题,并为帮助您解决工作流问题的支持代理提供其他信息。

如何运行 ShowScopeDebugInfo () 函数

  1. 在遇到"工作流"问题的网站上,选择"设置 (齿轮图标") ",然后选择"网站设置 > 工作流 设置 > 工作流运行状况"。

    • 您还可以从 URL 访问工作流运行状况。 例如:https://<contoso>.sharepoint.com/sites/<test>/_layouts/15/WorkflowServiceHealth.aspx。 (此示例中,将 contoso 替换为您的域,并测试SharePoint site.)
  2. 从 Web 浏览器打开开发人员工具 (建议使用 Edge 或 Google Chrome) 。

    • 对于Microsoft Edge,请按 F12 键。
    • 对于 Google Chrome,请按 Shift+Ctrl+J。
  3. 选择"控制台"。

  4. 输入以下函数名称 :ShowScopeDebugInfo ()

    • 按 Enter。 该命令将执行 JavaScript 函数以在后台打印数据。
    • 注意:必须刷新"工作流服务运行状况"页才能从 ShowScopeDebugInfo 获取更新的数据。 不会实时返回由 ShowScopeDebugInfo 生成的信息。 在更新结果之前有一点延迟。

示例输出

{
  "SupportDocument": "https://go.microsoft.com/fwlink/?linkid=847765",
  "ScopePath": "/spo/ec63b09b-9748-47ba-9018-beeadd405204/f19089ae-d6c6-4feb-be0b-ff4de40a04fc/88890858-ae38-407a-b1e7-152c7cff6fe5",
  "WorkflowEndpoint": "spo-dm3-001.workflow.windows.net",
  "WorkflowAppId": "i:0i.t|ms.sp.ext|5958c314-3699-407a-b142-2d459b5161c4@72f988bf-86f1-41af-91ab-2d7cd011db47",
  "IsThrottled": false,
  "ThrottledUntil": "",
  "ActiveMessageCount": "965436",
  "StatusDetails": "MaxTopicSize",
  "ScopeSizeInBytes": "6447069028",
  "MaxScopeSizeInBytes": "6442450944",
  "CorrelationFilterCount": "1851",
  "MaxCorrelationFilterCount": "100000",
  "ScopeUsageInfoAggregatedByWorkflow": [
    {
      "workflowName": "87effe93-5c6a-474d-8a72-0ef451ff0100",
      "workflowDisplayName": "ANewWF",
      "sizeInBytes": 0,
      "correlationFilterCount": 0
    },
    {
      "workflowName": "df26aa85-85a7-4466-a273-1775c9da38bb",
      "workflowDisplayName": "Neat2013ListWorkflow",
      "sizeInBytes": 52591272,
      "correlationFilterCount": 1827
    },
    {
      "workflowName": "fc7a63c5-ff72-42e5-87fd-3f2944f8a6ef",
      "workflowDisplayName": "Spec_Document_Approval",
      "sizeInBytes": 277327,
      "correlationFilterCount": 24
    }
  ]
}

如何读取结果

标签 定义
SupportDocument SharePoint 2013 工作流公共文档,以帮助工作流作者避免常见的工作流设计和常见错误。
ScopePath 与 2013 工作流SharePoint所有者互动的必需信息。
WorkflowEndpoint 与 2013 工作流SharePoint所有者互动的必需信息。
WorkflowAppId 与 2013 工作流SharePoint所有者互动的必需信息。
IsThrottled 指示 Azure 工作流服务是否限制当前SharePoint 2013 工作流SharePoint工作流。 限制按网站SharePoint,每 10 分钟评估一次。 如果所有 SharePoint 2013 工作流实例都超过动态限制限制,Azure 工作流服务将限制所有 SharePoint 2013 工作流实例至少 5 分钟,并且工作流实例将在接下来的 10 分钟处理窗口中恢复。
ThrottledUntil 如果 IsThrottled 为 true, 则 ThrottledUntil 将包含 UTC 日期和时间以指示限制何时过期。
ActiveMessageCount 代表 ServiceBus 订阅 ActiveMessageCount。 启动 SharePoint 2013 工作流实例时,邮件在 Azure ServiceBus 中排队,这些消息由 Azure 工作流服务后端处理。 如果 SharePoint 2013 工作流实例处理缓慢,则通常是由于限制和/或大型 Azure ServiceBus 队列,如 ActiveMessageCount 所指示。
StatusDetails 指示当前 SharePoint 网站的 SharePoint 2013 工作流未进行的原因,以及无法手动或自动启动 SharePoint 2013 工作流实例的原因。 当前包含 MaxTopicSizeMaxCorrelationFilter 以指示已超出哪个限制。
ScopeSizeInBytes 表示SharePoint Azure 工作流服务中的 SharePoint 2013 工作流存储。 Azure 工作流服务使用 Azure 服务总线 和 Azure SQL启用 SharePoint 2013 工作流。 每个SharePoint分配 6 GB。 Azure 工作流服务是本地工作流服务的云工作流管理器。 如果 ScopeSizeInBytes 超出 MaxScopeSizeInBytes ,StatusDetails指示 MaxTopicSize。 这意味着已超出此限制,SharePoint 2013 工作流实例在手动触发时或在 SharePoint Online 中创建和编辑数据时不会启动。 通过检查 ScopeUsageInfoAggregatedByWorkflow 可以找出哪个 2013 工作流SharePoint使用最多的空间。 ScopeUsageInfoAggregatedByWorkflow 不会实时返回,但相对而言是最新的。 每个 SharePoint 2013 工作流都包含 sizeInBytes, 并可以用作指南,用于标识要从 SharePoint 列表或库中删除的 SharePoint 2013 工作流。 通过从列表SharePoint库的"工作流"设置删除"2013 工作流",将启动清理过程。 该过程完成后,SharePoint网站的工作流将恢复处理。 StatusDetails 列将不再包含 MaxTopicSize 或 ScopeSizeInBytes。 它将小于 MaxScopeSizeInBytes。 可以启动 2013 工作流SharePoint工作流。
MaxScopeSizeInBytes 表示在 Azure 工作流服务中为当前网站分配的最大SharePoint。
CorrelationFilterCount 表示 Azure ServiceBus 相关筛选器的当前 Azure 工作流 服务使用情况。 如果手动启动简单的 SharePoint 2013 工作流,或在 SharePoint Online 中创建或编辑数据,则每个工作流实例使用两个相关筛选器。 随着 SharePoint 2013 工作流变得更加复杂,使用了更多相关筛选器。 诸如" 等待字段更改"或 " 等待列表中的更改"等操作 完全使用相关筛选器。

MaxCorrelationFilterCount 表示最大相关筛选器限制 100,000。 如果创建了最简单的 SharePoint 2013 工作流,这意味着每个网站最多有 50,000 个活动工作流SharePoint实例。 但是,您不可能达到 50,000 个工作流实例,因为大多数工作流使用的关联筛选器多于启动工作流实例所需的默认两个相关筛选器。 工作流实例完成后,相关筛选器计数将减少。 这将为更多工作流实例提供空间。

如果 CorrelationFilterCount 大于 MaxCorrelationFilterCount则 StatusDetails 将包含 MaxCorrelationFilter。 无法启动工作流实例。 当 CorrelationFilterCount 超过 MaxCorrelationFilterCount 时,将发生 ScopeSizeInBytes 中描述的相同行为。 此外,也可以使用相同的解决方案。 使用 ScopeUsageInfoAggregatedByWorkflow 并查找具有最高 correlationFilterCount 的工作流,并考虑使用"工作流"设置 页将其从 SharePoint列表或库中删除。 如果使用 SharePoint Designer 删除 SharePoint 2013 工作流,它将删除工作流逻辑,并且需要重新创建工作流。 最好使用"工作流"页删除"工作流设置,然后根据此处找到的建议调整工作流逻辑
MaxCorrelationFilterCount 表示在 Azure 工作流服务中为当前网站分配的关联筛选器SharePoint计数。
ScopeUsageInfoAggregatedByWorkflow 包含当前SharePoint 2013 工作流SharePoint网站。 每个工作流包含以下数据:workflowName、workflowDisplayName、sizeInBytes 和 correlationFilterCount。 ScopeUsageInfoAggregatedByWorkflow中的数据不会实时更新。 它是频繁更新的快照。
  • workflowName 映射到 WorkflowSubscription.Id
  • workflowDisplayName 映射到 WorkflowSubscription.Name。 此名称是 SharePoint UX 中 2013 工作流SharePoint的名称。 此名称可以不同于设计器中的SharePoint名称。
  • sizeInBytes 是工作流存储使用情况。 它聚合到 ScopeSizeInBytes 中。
  • correlationFilterCount 是工作流相关筛选器使用情况。 它聚合到 CorrelationFilterCount 中。