Today, My one of friend come back from SQL DBA interview & share his review. One question about which he is looking for was “What is the use of RPC in cluster” ?
The Remote Procedure Call (RPC) [http://support.microsoft.com/kb/832017] system service is an interprocess communication (IPC) mechanism that enables data exchange and invocation of functionality that is located in a different process. The different process can be on the same computer, on the LAN, or in a remote location, and it can be accessed over a WAN connection or over a VPN connection. The RPC service serves as the RPC Endpoint Mapper and Component Object Model (COM) Service Control Manager. Many services depend on the RPC service to start successfully. RPC did not use fixed ports, it worked on port ranges. RPC also works on Named pipe for “File and Printer Sharing” services.
Windows Cluster use multiple port (at least 100 ports) for different process via RPC. This process can be available over same system, depended system, over LAN or WAN, Domain Controller etc. RPC works on range of ports instead of fix port. This feature of RPC makes it very useful. Sometime critical ports can be already in user by some other process at that time RPC can use other ports from available range for connectivity.
There is long list of services that depends on RPC [http://technet.microsoft.com/en-us/library/cc787851(v=ws.10).aspx] like : Telnet, DHCP, DNS, COM+, DTC, WINS etc.
You may face multiple error when RPC is not working like
1) Cluster name mention not found
2) Node1 not able to communicate to Node 2
3) File Share not working
4) MSDTC issues
5) Etc.
Reference : Rohit Garg (http://mssqlfun.com/)
You can find and follow MSSQLFUN :-
http://www.facebook.com/mssqlfun
Other Linked Profiles :-
http://www.sqlservercentral.com/blogs/mssqlfun/
http://social.msdn.microsoft.com/Profile/rohitgarg
http://www.toadworld.com/members/rohit-garg/blogs/default.aspx
Awesome Tip and well explained