The tables that are set up with transaction merge replication have a peculiar problem that does return results when selecting data remotely on the identity column. Below is an example of

TranRepltable (transactional merge replicated table between server1 and server2) the table has the columns below.
id int primary key and identity
logicalpkid1 int
logicalpkid2 int
descrption varchar(30)

Running query on Server1
Select * server1.dbname.dbo.TranReplTable where id = 99990
returns 1 record

Select * server2.dbname.dbo.TranReplTable where id = 99990
returns 0 record

Select * server2.dbname.dbo.TranReplTable where logicalid1 = 5 and logicalid2 = 3

returns 1 record


Running queries Server2
Select * server1.dbname.dbo.TranReplTable where id = 99990
returns 0 record

Select * server2.dbname.dbo.TranReplTable where id = 99990
returns 1 record

The records phisically exists on all servers but using a remote server call returns no results.

Further, This does not happen on the tables that are just transactionally replicated. Curiosly, If there is a logical key that I can select it works remotely just fine on the problem tables.

Is this symtom as designed? The documentation around replication is poor. This seems like it could be a Microsoft bug.

Thanks in advance,

Jamboni