Sql Sharepoint工作流表

Sql Sharepoint工作流表,sql,sharepoint,Sql,Sharepoint,试图找出工作流信息(如状态和参与者)在Sharepoint数据库中的存储位置。有一个名为workflow的表,但我似乎找不到文档和worflow数据中的数据之间的连接。任何人?SharePoint工作流都是基于Windows工作流基础3.5的,所以无论你发现什么信息,都很可能适用于SharePoint工作流。其中一个问题是,它本质上以序列化形式将工作流的当前状态保存到数据库(或其他任何地方) SharePoint工作流依赖于四种机制: 工作流模板 。。。联想 。。。实例 工作流模板是您将在Sha

试图找出工作流信息(如状态和参与者)在Sharepoint数据库中的存储位置。有一个名为workflow的表,但我似乎找不到文档和worflow数据中的数据之间的连接。任何人?

SharePoint工作流都是基于Windows工作流基础3.5的,所以无论你发现什么信息,都很可能适用于SharePoint工作流。其中一个问题是,它本质上以序列化形式将工作流的当前状态保存到数据库(或其他任何地方)

SharePoint工作流依赖于四种机制:

  • 工作流模板
  • 。。。联想
  • 。。。实例
  • 工作流模板是您将在SharePoint Designer/Visual Studio中创建的模板。使用SharePoint designer,这将生成一个声明性的*.XOML文件,使用Visual Studio生成一个*.DLL-工作流的所有逻辑、将分配给谁、参与者是谁都存储在其中

    您可以将此工作流模板与SharePoint中的列表、内容类型或网站以及(隐藏的)工作流历史记录列表和工作流任务列表(即使您不使用它)关联。通过此关联,您还可以拥有一个关联表单,该表单在您关联工作流后执行

    工作流实例是在列表项上运行的实际实例(在实例化过程中,也可以显示表单)。这个实例实际上是您在模板中告诉它要做的事情

    现在,请回答您的问题:“数据库中的状态和参与者等工作流信息存储在哪里?”
    简单回答:不是

    更详细的回答:表
    WorkflowAssociation
    存储关联。因此,我可以看到带有
    BaseID
    XYZ的工作流与带有
    ListId
    SiteId
    XYZ相关联,依此类推(这是文档和数据之间的连接)。数据库中的
    工作流
    表存储有关正在运行和过去工作流的信息。因此,您知道工作流实例在哪个
    ItemGUID
    上运行,它是在什么
    InternalState
    中创建的。但是,此内部状态对您没有帮助,因为它没有映射您在SP Designer中设计的状态,它只是SharePoint内部的“正在运行/未运行/错误”状态。但是有一列
    InstanceData
    。我不确定,但一旦工作流脱水,当前状态可能会保存在那里。以什么编码/形式-不知道。您将无法在数据库中找到正在运行的工作流中所需的信息(当前参与者)。
    最重要的是:无论如何,您不必查看数据库

    状态和参与者等信息只有通过代码才能找到,甚至可以调试工作流以查看所有信息。您还可以为这些信息创建字段,并简单地显示“参与者”