• That was a good idea. But sadly, it doesn't appear to be the case, either. I just tried that; didn't need "rpc".

    SERVERA -> SERVERB -> SERVERC

    A procedure on SERVERC simpy returns @@SERVERNAME.

    A similar procedure on SERVERB inserts its own @@SERVERNAME and the results from the proc on SERVERC (2 rows).

    An identical procedure on SERVERA, calls the proc on B... so, 3 rows - one for each server.

    The procedure on A and B:

    create proc testproc as

    create table #x (eek varchar(500))

    insert into #x select 'this is testproc on server ' + @@SERVERNAME

    insert into #x exec linkedserver.testdb.dbo.testproc;

    select * from #x

    go

    grant execute on testproc to public

    (the proc on C is simply: SELECT @@SERVERNAME)

    Result: 3 rows, one from each server. "rpc" was not enabled, only "rpc out".