I have setup two databases one being the Master/Publisher the other being the Subset/Subscriber. Consider a Retail store as an example: a Samsung TV is sold in Store x but not in Store y , so the master db would have information about the tv and joined to a table of stores. Two criteria should be met before an item should be distributed. Item is in stock, and Item is sold at a specific store. So I have set up a filter on the publisher to distribute data based on the subscriber's HOST_NAME() and that the item is in stock. Now I just mentioned the basic tables, there are a lot more tables which are related to the item, the problem I am having is when the subscriber is first initialised by the snapshot. The data is perfect exactly what I expect , during the initialization if the item is out of stock , then no data about that item is distributed, which is correct, when the item becomes in stock and you synchronize, only the rows which have been altered since the snapshot was generated will get distributed. What I need is that all the related tables of that item get distributed even if the data was unchanged, because the filter has changed. Anyone have any ideas where I am going wrong, basically if I re-generate the snapshot, and re-initialize, the data is how I want. Is this the best way, is there another type of replication that might work better?