About the Linked Server RPC and RPC OUT Options
Unlock seamless, secure integration between Nodinite and SQL Server by configuring Linked Server RPC and RPC OUT options. This guide empowers you to:
✅ Ensure reliable distributed and local Nodinite installations
✅ Follow step-by-step setup for SQL Server Linked Servers
✅ Optimize security and performance with correct RPC settings
✅ Avoid common support issues and future troubleshooting
When installing Nodinite in a distributed environment, you should configure certain RPC-related settings. For consistency and to avoid future support incidents, we recommend following these instructions for all types of installations.
Nodinite relies on the SQL Server concept of Linked Servers to connect with SQL Server databases. Nodinite also uses linked servers to join data between the Configuration Database and the Log Databases, even for local installations.
Diagram: How Nodinite uses Linked Servers to connect and join data across SQL Server instances.
Microsoft has documented the concept of Linked Servers here.
To add a linked server with the RPC and RPC Out settings set to true (mandatory for distributed Nodinite installations), execute the following commands:
EXEC sp_addlinkedserver @server = 'LOCALHOST\instance';
EXEC sp_serveroption 'LOCALHOST\instance', 'rpc', true;
EXEC sp_serveroption 'LOCALHOST\instance', 'rpc out', true;
Replace 'LOCALHOST\instance' with the appropriate value for your environment.
If you are not allowed to execute these commands, request a grant for your user. You cannot grant this permission to yourself; log in as a different user with SYSADMIN rights to modify the server:
USE master;
GRANT ALTER ANY LINKED SERVER TO [DOMAIN\LoggingServiceAccountName];
GO
USE master;
GRANT ALTER ANY LOGIN SERVER TO [DOMAIN\LoggingServiceAccountName];
RPC
RPC is disabled by default in SQL Server to enhance security by reducing the attack surface. Enabling RPC is required for Nodinite to perform remote procedure calls between linked servers.
The RPC setting is documented here.
The RPC option set as recommended to "True".
Nodinite uses remote servers, and the RPC setting enables a specific security feature. If this option is turned off, when the second server (the one receiving the login attempt from the first server to which the client connected) tries to validate the remote login, it fails with the following error (example):
18482 "Could not connect to server '%.*ls' because '%.*ls' is not defined as a remote server. Verify that you have specified the correct server name. %.*ls."
You can also set this option to True or False in the linked server's properties by right-clicking the Linked Server name in SQL Server Management Studio (SSMS). Alternatively, you can use the following script to enable RPC:
EXEC master.dbo.sp_serveroption @server=N'LOCALHOST\instance', @optname=N'rpc', @optvalue=N'true'
Replace 'LOCALHOST\instance' with the appropriate value for your environment.
RPC OUT
The RPC OUT setting is required when working with linked servers (which Nodinite does frequently).
Here, the RPC Out option is set as recommended to True.
RPC (Remote Procedure Call) refers to the stored procedure or ad hoc SQL statement being run remotely from the source SQL Server to another SQL Server using the Linked Server.
Below are some syntax examples:
Syntax | Example |
---|---|
servername.databasename.schemaname.procedurename | EXEC [LOCALHOST\instance].master.dbo.sp_who2 |
EXECUTE(databasename.schemaname.procedurename ) AT %%LINKEDSERVERNAME%% | EXEC ('master.dbo.sp_who2') AT [LOCALHOST\instance] |
Replace 'LOCALHOST\instance' with the appropriate value for your environment.
These types of "RPC" calls will be blocked unless the RPC Out option is set to True on the Linked Server.
Msg 7411, Level 16, State 1, Line 1 Server 'LOCALHOST\instance' is not configured for RPC.
You can also set this option to True or False in the linked server's properties by right-clicking the Linked Server name in SQL Server Management Studio (SSMS). Alternatively, you can use the following script to enable RPC Out:
EXEC master.dbo.sp_serveroption @server=N'LOCALHOST\instance', @optname=N'rpc out', @optvalue=N'true'
Replace 'LOCALHOST\instance' with the appropriate value for your environment.