没有过滤器列的表在微软同步框架中无法同步

本文关键字:同步 框架 微软 过滤器 | 更新日期: 2023-09-27 18:19:06

关于Microsoft sync框架的问题

我有一些表在我的同步范围,其中一些有过滤器"UserId"和4表没有过滤器。

在"无过滤器"的表中,有一个工作正常并且正在同步,但是新添加的3个表没有同步

下面是我的配置文件

没有过滤器的ContactStatus, ContactAction, ContactActionRule表没有同步,虽然我没有得到任何错误。

但同时,没有过滤器的设置表也在同步。我知道这很难调试,但如果你们有任何想法,请告诉我。

这是我如何点击服务

https: AnzuReaderSyncSyncService.svc/ARSync/DownloadChanges吗?fk_user_id = 1902

 <SyncConfiguration>
        <SyncScopes>
          <SyncScope Name="ARSync" SchemaName="dbo" IsTemplateScope="true" EnableBulkApplyProcedures="true">
            <SyncTables>
              <SyncTable Name="[ContactStatus]" GlobalName="ContactStatus" SchemaName="" IncludeAllColumns="true" FilterClause="">
                <SyncColumns>
                  <SyncColumn Name="Id" GlobalName="Id" SqlType="int" IsPrimaryKey="true" IsNullable="false" />
                  <SyncColumn Name="StatusName" GlobalName="StatusName" SqlType="varchar" IsPrimaryKey="false" IsNullable="true" />
                  <SyncColumn Name="DateAdded" GlobalName="DateAdded" SqlType="datetime" IsPrimaryKey="false" IsNullable="true" />
                  <SyncColumn Name="DateUpdated" GlobalName="DateUpdated" SqlType="datetime" IsPrimaryKey="false" IsNullable="true" />
                  <SyncColumn Name="LastUpdatedBy" GlobalName="LastUpdatedBy" SqlType="int" IsPrimaryKey="false" IsNullable="true" />
                  <SyncColumn Name="DeleteMark" GlobalName="DeleteMark" SqlType="bit" IsPrimaryKey="false" IsNullable="true" />
                </SyncColumns>
              </SyncTable>
              <SyncTable Name="[ContactAction]" GlobalName="ContactAction" SchemaName="" IncludeAllColumns="true" FilterClause="">
                <SyncColumns>
                  <SyncColumn Name="Id" GlobalName="Id" SqlType="int" IsPrimaryKey="true" IsNullable="false" />
                  <SyncColumn Name="Action" GlobalName="Action" SqlType="varchar" IsPrimaryKey="false" IsNullable="true" />
                  <SyncColumn Name="DateAdded" GlobalName="DateAdded" SqlType="datetime" IsPrimaryKey="false" IsNullable="true" />
                  <SyncColumn Name="DateUpdated" GlobalName="DateUpdated" SqlType="datetime" IsPrimaryKey="false" IsNullable="true" />
                  <SyncColumn Name="LastUpdatedBy" GlobalName="LastUpdatedBy" SqlType="datetime" IsPrimaryKey="false" IsNullable="true" />
                </SyncColumns>
              </SyncTable>
              <SyncTable Name="[ContactActionRule]" GlobalName="ContactActionRule" SchemaName="" IncludeAllColumns="true" FilterClause="">
                <SyncColumns>
                  <SyncColumn Name="Id" GlobalName="Id" SqlType="int" IsPrimaryKey="true" IsNullable="false" />
                  <SyncColumn Name="FK_ContactAction_Id" GlobalName="FK_ContactAction_Id" SqlType="int" IsPrimaryKey="false" IsNullable="false" />
                  <SyncColumn Name="FK_OriginalState_Id" GlobalName="FK_OriginalState_Id" SqlType="int" IsPrimaryKey="false" IsNullable="false" />
                  <SyncColumn Name="FK_SenderState_Id" GlobalName="FK_SenderState_Id" SqlType="int" IsPrimaryKey="false" IsNullable="false" />
                  <SyncColumn Name="FK_ContactState_Id" GlobalName="FK_ContactState_Id" SqlType="int" IsPrimaryKey="false" IsNullable="false" />
                  <SyncColumn Name="DateAdded" GlobalName="DateAdded" SqlType="datetime" IsPrimaryKey="false" IsNullable="true" />
                  <SyncColumn Name="DateUpdated" GlobalName="DateUpdated" SqlType="datetime" IsPrimaryKey="false" IsNullable="true" />
                  <SyncColumn Name="LastUpdatedBy" GlobalName="LastUpdatedBy" SqlType="datetime" IsPrimaryKey="false" IsNullable="true" />
                </SyncColumns>
              </SyncTable>
              <SyncTable Name="[UserLibrary]" GlobalName="UserLibrary" SchemaName="" IncludeAllColumns="true" FilterClause="[side].FK_User_Id = @FK_User_Id">
                <SyncColumns>
                  <SyncColumn Name="Id" GlobalName="Id" SqlType="uniqueidentifier" IsPrimaryKey="true" IsNullable="false" />
                  <SyncColumn Name="Name" GlobalName="Name" SqlType="varchar" IsPrimaryKey="false" IsNullable="true" />
                  <SyncColumn Name="Description" GlobalName="Description" SqlType="nvarchar" IsPrimaryKey="false" IsNullable="true" />
                  <SyncColumn Name="FK_User_Id" GlobalName="FK_User_Id" SqlType="int" IsPrimaryKey="false" IsNullable="true" />
                  <SyncColumn Name="ParentId" GlobalName="ParentId" SqlType="uniqueidentifier" IsPrimaryKey="false" IsNullable="true" />
                  <SyncColumn Name="SequenceNo" GlobalName="SequenceNo" SqlType="int" IsPrimaryKey="false" IsNullable="true" />
                  <SyncColumn Name="IsRecycled" GlobalName="IsRecycled" SqlType="bit" IsPrimaryKey="false" IsNullable="true" />
                  <SyncColumn Name="DateAdded" GlobalName="DateAdded" SqlType="datetime" IsPrimaryKey="false" IsNullable="true" />
                  <SyncColumn Name="LastUpdatedBy" GlobalName="LastUpdatedBy" SqlType="int" IsPrimaryKey="false" IsNullable="true" />
                  <SyncColumn Name="DateUpdated" GlobalName="DateUpdated" SqlType="datetime" IsPrimaryKey="false" IsNullable="true" />
                </SyncColumns>
                <FilterColumns>
                  <FilterColumn Name="FK_User_Id" />
                </FilterColumns>
                <FilterParameters>
                  <FilterParameter Name="@FK_User_Id" SqlType="int" DataSize="0" />
                </FilterParameters>
              </SyncTable>
              <SyncTable Name="[Discussion]" GlobalName="Discussion" SchemaName="" IncludeAllColumns="true" FilterClause="[side].FK_User_Id = @FK_User_Id">
                <SyncColumns>
                  <SyncColumn Name="Id" GlobalName="Id" SqlType="int" IsPrimaryKey="true" IsNullable="false" />
                  <SyncColumn Name="ParentId" GlobalName="ParentId" SqlType="int" IsPrimaryKey="false" IsNullable="true" />
                  <SyncColumn Name="FK_User_Id" GlobalName="FK_User_Id" SqlType="int" IsPrimaryKey="false" IsNullable="false" />
                  <SyncColumn Name="FK_Application_Id" GlobalName="FK_Application_Id" SqlType="int" IsPrimaryKey="false" IsNullable="false" />
                  <SyncColumn Name="Title" GlobalName="Title" SqlType="varchar" IsPrimaryKey="false" IsNullable="true" />
                  <SyncColumn Name="Description" GlobalName="Description" SqlType="nvarchar" IsPrimaryKey="false" IsNullable="false" />
                  <SyncColumn Name="Tag" GlobalName="Tag" SqlType="varchar" IsPrimaryKey="false" IsNullable="true" />
                  <SyncColumn Name="FK_DomainLibrary_Id" GlobalName="FK_DomainLibrary_Id" SqlType="int" IsPrimaryKey="false" IsNullable="true" />
                  <SyncColumn Name="FK_Publication_Id" GlobalName="FK_Publication_Id" SqlType="int" IsPrimaryKey="false" IsNullable="true" />
                  <SyncColumn Name="FK_ContentType_Id" GlobalName="FK_ContentType_Id" SqlType="int" IsPrimaryKey="false" IsNullable="true" />
                  <SyncColumn Name="FK_Category_Id" GlobalName="FK_Category_Id" SqlType="int" IsPrimaryKey="false" IsNullable="true" />
                  <SyncColumn Name="FK_SubCategory_Id" GlobalName="FK_SubCategory_Id" SqlType="int" IsPrimaryKey="false" IsNullable="true" />
                  <SyncColumn Name="PageNumber" GlobalName="PageNumber" SqlType="int" IsPrimaryKey="false" IsNullable="true" />
                  <SyncColumn Name="Text" GlobalName="Text" SqlType="nvarchar" IsPrimaryKey="false" IsNullable="true" />
                  <SyncColumn Name="TimeFrame" GlobalName="TimeFrame" SqlType="float" IsPrimaryKey="false" IsNullable="true" />
                  <SyncColumn Name="PositionMatrix" GlobalName="PositionMatrix" SqlType="text" IsPrimaryKey="false" IsNullable="true" />
                  <SyncColumn Name="ChapterNumber" GlobalName="ChapterNumber" SqlType="int" IsPrimaryKey="false" IsNullable="true" />
                  <SyncColumn Name="DeleteMark" GlobalName="DeleteMark" SqlType="bit" IsPrimaryKey="false" IsNullable="true" />
                  <SyncColumn Name="DateAdded" GlobalName="DateAdded" SqlType="datetime" IsPrimaryKey="false" IsNullable="true" />
                  <SyncColumn Name="DateUpdated" GlobalName="DateUpdated" SqlType="datetime" IsPrimaryKey="false" IsNullable="true" />
                  <SyncColumn Name="LastUpdatedBy" GlobalName="LastUpdatedBy" SqlType="int" IsPrimaryKey="false" IsNullable="true" />
                  <SyncColumn Name="PubDBContentId" GlobalName="PubDBContentId" SqlType="int" IsPrimaryKey="false" IsNullable="true" />
                  <SyncColumn Name="Url" GlobalName="Url" SqlType="varchar" IsPrimaryKey="false" IsNullable="true" />
                  <SyncColumn Name="ChildCount" GlobalName="ChildCount" SqlType="int" IsPrimaryKey="false" IsNullable="false" />
                  <SyncColumn Name="RootId" GlobalName="RootId" SqlType="int" IsPrimaryKey="false" IsNullable="false" />
                  <SyncColumn Name="FK_Content_Id" GlobalName="FK_Content_Id" SqlType="uniqueidentifier" IsPrimaryKey="false" IsNullable="true" />
                </SyncColumns>
                <FilterColumns>
                  <FilterColumn Name="FK_User_Id" />
                </FilterColumns>
                <FilterParameters>
                  <FilterParameter Name="@FK_User_Id" SqlType="int" DataSize="0" />
                </FilterParameters>
              </SyncTable>
              <SyncTable Name="[Settings]" GlobalName="Settings" SchemaName="" IncludeAllColumns="true" FilterClause="">
                <SyncColumns>
                  <SyncColumn Name="Id" GlobalName="Id" SqlType="int" IsPrimaryKey="true" IsNullable="false" />
                  <SyncColumn Name="Key" GlobalName="Key" SqlType="varchar" IsPrimaryKey="false" IsNullable="true" />
                  <SyncColumn Name="Title" GlobalName="Title" SqlType="nchar" IsPrimaryKey="false" IsNullable="true" />
                  <SyncColumn Name="DefaultValue" GlobalName="DefaultValue" SqlType="varchar" IsPrimaryKey="false" IsNullable="true" />
                  <SyncColumn Name="Description" GlobalName="Description" SqlType="varchar" IsPrimaryKey="false" IsNullable="true" />
                  <SyncColumn Name="Type" GlobalName="Type" SqlType="int" IsPrimaryKey="false" IsNullable="true" />
                  <SyncColumn Name="DateAdded" GlobalName="DateAdded" SqlType="datetime" IsPrimaryKey="false" IsNullable="true" />
                  <SyncColumn Name="DateUpdated" GlobalName="DateUpdated" SqlType="datetime" IsPrimaryKey="false" IsNullable="true" />
                </SyncColumns>
              </SyncTable>
              <SyncTable Name="[UserContact]" GlobalName="UserContact" SchemaName="" IncludeAllColumns="true" FilterClause="[side].SenderId = @FK_User_Id">
                <SyncColumns>
                  <SyncColumn Name="Id" GlobalName="Id" SqlType="int" IsPrimaryKey="true" IsNullable="false" />
                  <SyncColumn Name="SenderId" GlobalName="SenderId" SqlType="int" IsPrimaryKey="false" IsNullable="false" />
                  <SyncColumn Name="ContactId" GlobalName="ContactId" SqlType="int" IsPrimaryKey="false" IsNullable="false" />
                  <SyncColumn Name="FK_ContactStatus_Id" GlobalName="FK_ContactStatus_Id" SqlType="int" IsPrimaryKey="false" IsNullable="true" />
                  <SyncColumn Name="ContactName" GlobalName="ContactName" SqlType="varchar" IsPrimaryKey="false" IsNullable="true" />
                  <SyncColumn Name="Follows" GlobalName="Follows" SqlType="bit" IsPrimaryKey="false" IsNullable="true" />
                  <SyncColumn Name="DateAdded" GlobalName="DateAdded" SqlType="datetime" IsPrimaryKey="false" IsNullable="true" />
                  <SyncColumn Name="DateUpdated" GlobalName="DateUpdated" SqlType="datetime" IsPrimaryKey="false" IsNullable="true" />
                  <SyncColumn Name="LastUpdatedBy" GlobalName="LastUpdatedBy" SqlType="int" IsPrimaryKey="false" IsNullable="true" />
                </SyncColumns>
                <FilterColumns>
                  <FilterColumn Name="SenderId" />
                </FilterColumns>
                <FilterParameters>
                  <FilterParameter Name="@FK_User_Id" SqlType="int" DataSize="0" />
                </FilterParameters>
              </SyncTable> 
          </SyncScope>
        </SyncScopes>
        <Databases>
          <TargetDatabase Name="ARSyncDB" DbServer="50.56.173.145" DbName="ARDevDB2.0Sync" UserName="sabeta" Password="sa123$" UseIntegratedAuth="false" />
        </Databases>
      </SyncConfiguration>

没有过滤器列的表在微软同步框架中无法同步

启用同步fx跟踪或SQL分析器来查看下面发生了什么。您还可以检查可能阻止更改应用的冲突或约束(特别是fk)。