現象
SharePoint 2013 ワークフローを開始すると、アラートに次のエラー メッセージが表示されます。
問題が発生しました。 もう一度やり直すには、ページを再読み込みしてから、ワークフローを開始します。
[設定] (歯車アイコン) を選択し、[サイトの設定>ワークフローの設定>ワークフローの正常性をすると、状態は一時停止として表示されます。
原因
このエラーは、SharePoint 2013 ワークフローが現在の SharePoint サイトで中断状態になっている場合に発生します。これは、1 つ以上のワークフローが一部の制限を超えるためです。
解決方法
制限を超えた SharePoint 2013 ワークフローを削除することで、現在の SharePoint サイトの中断を削除できます。 [ワークフロー設定] ページを使用するか、SharePoint Designer を使用してワークフローを削除します。
クリーンアップ プロセスはすぐには実行されません。 完了すると、時間がかかり、ワークフローの正常性が Connected 状態に切り替わる。
[ワークフローの設定] ページを使用して、SharePoint 2013 ワークフローを削除することをお勧めします。
削除するワークフローを識別するには、 ShowScopeDebugInfo() 関数を使用します。
ShowScopeDebugInfo() 関数を実行する方法
ワークフローの問題が発生しているサイトで、[設定] (歯車アイコン) を選択し、[ サイトの設定>ワークフローの設定>ワークフローの正常性を選択します。
- URL から Workflow Health にアクセスすることもできます。 URL の例:
https://contoso.sharepoint.com/sites/test/_layouts/15/WorkflowServiceHealth.aspx
- この例では、 contoso をドメインに置き換え、 テスト を SharePoint サイトの名前に置き換えます。
- URL から Workflow Health にアクセスすることもできます。 URL の例:
ブラウザーから開発者ツールを開きます (Microsoft Edge または Google Chrome をお勧めします)。
- Microsoft Edge の場合は、F12 キーを押して開いている開発者ツールを切り替えます。
- Google Chrome の場合は、Shift + Ctrl + J キーを押して開発者ツールを開きます。
[コンソール] を説明します。
次の関数名を入力します: ShowScopeDebugInfo()
- 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 } ] }
出力 StatusDetailsを書き留めます。 MaxTopicSize と MaxCorrelationFilter が存在する場合は、現在の SharePoint サイトがすべての SharePoint 2013 ワークフローを中断したことを示します。 [Workflow Service Health]\(ワークフロー サービスの正常性\) ページに次の情報が表示されます。
ワークフローが中断される
ワークフローまたはワークフローが削除されると、クリーンアップ プロセスが開始されます。 進行状況を追跡するには、[ワークフロー サービスの正常性] ページを更新し、ShowScopeDebugInfo 関数を実行します。 ActiveMessageCount、 ScopeSizeInBytes、および CorrelationFilterCount は、超過した制限に応じてダウンします。 ActiveMessageCount は最も遅く、クリアに数日かかる場合がありますが、ブロックされません。 クリーンアップ バックグラウンド ジョブのコアが完了すると、[ワークフロー サービスの正常性] ページに ワークフローが中断表示されなくなり、 StatusDetails には値が表示されなくなります。
ワークフローを削除して問題を解決できない場合は、サポート リクエストを開くことを選択できます。 サポート要求を開く場合は、 ShowScopeDebugInfo() 関数を使用して、ワークフローの正常性に関する追加情報を収集します。 ShowScopeDebugInfo()関数の詳細については、「ShowScopeDebugInfo を使用したデータのトラブルシューティングGather SharePoint 2013 ワークフローを参照してください。