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

This article was previously published under Q293761
This article has been archived. It is offered "as is" and will no longer be updated.
BUG #: 351242 (SHILOH)
SYMPTOMS
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.
RESOLUTION
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 theMicrosoft Knowledge Base:
290211 INF: How to Obtain the Latest SQL Server 2000 Service Pack

Hotfix

The English version of this fix should have the following file attributes or later:
   File name      ------------   s80252i.exe				
STATUS
Microsoft has confirmed this to be a problem in SQL Server 2000. This problem was first corrected in SQL Server 2000 Service Pack 1.
MORE INFORMATION
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      Test12      Test2					
  • The second table, table2, has this data:
    MyNum  MyString---------------1      One2      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.
Properties

Article ID: 293761 - Last Review: 01/16/2015 22:06:46 - Revision: 3.1

  • Microsoft SQL Server 2000 Standard Edition
  • kbnosurvey kbarchive kbbug kbfix kbqfe kbsqlserv2000sp1fix KB293761
Feedback