我正在配置服务器,Sql 2008 R2,并创建3个不同的规定,可以这么说,在Scope中有12个表。第一个配置没有参数,第二个和第三个配置有参数。在第二次和第三次配置中,我使用模板并为每个表添加过滤器。我还指定了一个Schema对象。我创建的过滤器是动态过滤器。当我在第二个和第三个条款的Provisioning上执行apply命令时,我得到错误,该表已经存在_selectchanges存储过程。我已经设置了SetCreateProceduresForAdditionalScopeDefault(DbSyncCreationOption.Create)。但它仍在尝试使用第一个配置中的原始存储过程的名称创建存储过程。
在玩它时看到了什么,我发现对于每个条款,insert,update,bulkinsert等...为每个表创建的存储过程是在我指定的模式中创建的但是selectchanges存储过程对于每个表,都没有在我指定的模式中创建,而是在默认模式中创建。此外,我发现如果我没有指定一个模式并完成所有三个配置,如上所述,它一切正常,并且每个表的单独selectchanges存储过程都已创建。我想使用不同的模式,因为有很多表,SP等。
这让我想到在为selectchange创建存储过程时,Sync Framework正在检查是否存在具有ObjectSchema参数中指定的模式的表的selectchanges存储过程,但是在实际创建selectchanges存储过程时,它不是使用指定的模式。
关于为什么会这样或者我做错什么的任何想法?