I already post an article how to setup Linked Server in SQL Server and querying on linked Server using open query. If you are not aware about this you can go through below link Also you can create linked server object for SQL Server and other databases in the same way. In this article I describe step to query on linked server directly through RPC without using OPENQUERY. Suppose I have a linked server name: PROD with another SQL Server.
select top 5 *From openquery(PROD,'select *from tblUser')
Now if you don’t want to use openquery then select top 5 * from prod.db_customer.dbo.tbluser
The syntax to execute query on linked server without open query is
LINKEDSERVERNAME.DATABASENAME.SCHEMANAME.TABLENAME
Also you can execute stored procedure, tables, and functions from this approach. Querying data from a table/View
Execute Stored Procedure
select top 5 * from prod.db_customer.dbo.tbluser
exec prod.db_customer.dbo.[select_recent_requests] '123'
Execute above procedure, is it run successfully? But some time error occurred as “Msg 7411, Level 16, State 1 Server is not configured for RPC”. To resolve this error go to Properties of your linked server .Check for Server Options. RPC is used to allow remote procedures calls “from” the linked server. RPC Out is used to allow remote procedure calls “to” the linked server.
Make both RPC and RPC Out options true and OK.
You can check other properties of linked server at TECHNET.
Now your server is configured for RPC.Execute query exec prod.db_customer.dbo.[select_recent_requests] '123'
Now it works fine.