FIX: Dynamic Filtered Tables Do Not Replicate Data From Joined Tables to SQL Server CE Subscribers

Article translations Article translations
Article ID: 293761 - View products that this article applies to.
This article was previously published under Q293761
BUG #: 351242 (SHILOH)
Expand all | Collapse all


When two tables are published that meet the following conditions:
  • Table1 has a dynamic subset filter.
  • Table2 is joined to Table1 using a join filter.
Updates to the filtered table do not cause the corresponding records in the other table to be replicated to the Microsoft SQL Server CE subscribers. This problem does not occur with SQL Server subscribers.


To resolve this problem, obtain the latest service pack for SQL Server 2000. For additional information, click the following article number to view the article in the Microsoft Knowledge Base:
290211 INF: How to Obtain the Latest SQL Server 2000 Service Pack


The English version of this fix should have the following file attributes or later:
   File name   


Microsoft has confirmed this to be a problem in SQL Server 2000. This problem was first corrected in SQL Server 2000 Service Pack 1.


An example follows that shows the result you want to obtain.

For this example, assume that you are working with two tables, table1 and table2.
  • The first table, table1, has a dynamic filter on the MyFilterCol column and contains the following data:
    MyNum  MyFilterCol
    1      Test1
    2      Test2
  • The second table, table2, has this data:
    MyNum  MyString
    1      One
    2      Two
    and is joined by the following JOIN filter clause:
    SELECT <published_columns> FROM [dbo].[Table1] INNER JOIN 
    [dbo].[Table2] ON table1.MyNum = table2.MyNum
Subscribe through SQL Server CE, and pass Hostname = "Test1". The initial synchronization shows that the two tables have the proper data.

Now, run this update statement:
UPDATE Table1 SET MyFilterCol = 'Test1' WHERE MyNum = "2"
When you run the Merge agent, you expect this result:
MyNum		MyString						

1		one						
2		two
However, the result looks like this instead:
MyNum		MyString			
1		one
The second row should be replicated to the subscriber.


Article ID: 293761 - Last Review: November 5, 2003 - Revision: 3.1
  • Microsoft SQL Server 2000 Standard Edition
kbbug kbfix kbqfe kbsqlserv2000sp1fix KB293761

Give Feedback


Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from