Hi George,
An RPC call means that the stored procedure was called from outside the SQL Server instance space. For example, if you have a web application or windows application which creates a SQL connection string and then makes a call to execute the SP.
A T-SQL event could be a call to the procedure either through Query Analyzer running on the same server, or from within another stored procedure. The key is that it is running on the server itself, which is why every RPC event has a TSQL event.
The RPC event must initiate a TSQL event, but a TSQL event does not have to initiate a remote call.
For example, let's say there is an SP called from a .NET web service called my_StoredProc_A that looks like this:
CREATE PROCEDURE dbo.my_StoredProc_A
AS
-- do something.
EXECUTE dbo.my_StoredProc_B
-- do something else.
GO
If you ran SQL Profiler trace on this, you would notice that my_StoredProc_A would show up as an RPC event and a TSQL event, but my_StoredProc_B would only show up as a TSQL event because it was not called remotely.
Hope that explains it!
Regards,
Diane.