Vous devrez peut-être parfois activer l'option "RPC Out" sur un serveur lié. Cette option active RPC sur le serveur donné.
RPC signifie Remote Procedure Calls. RPC est essentiellement une procédure stockée exécutée à distance du serveur 1 au serveur lié 2.
Si vous ne l'activez pas et que vous essayez d'exécuter une procédure stockée sur le serveur lié, vous obtiendrez probablement le message d'erreur 7411 vous indiquant que le serveur n'est pas configuré pour RPC.
Quoi qu'il en soit, vous pouvez activer/désactiver cette option en utilisant SQL Server Management Studio (SSMS) ou avec T-SQL.
Dans SSMS, vous pouvez accéder aux Linked Server Properties
en faisant un clic droit sur le nom du serveur lié. De là, cliquez sur Server Options
, où vous verrez le RPC Out
option définie sur True
ou False
.
Dans T-SQL, vous pouvez utiliser le sp_serveroption
procédure stockée du système pour faire la même chose.
Exemple
Voici un exemple d'utilisation de sp_serveroption
pour activer "RPC Out" sur un serveur lié.
EXEC sp_serveroption 'MyLinkedServer', 'rpc out', 'true';
Cela active l'option RPC Out pour le serveur lié appelé MyLinkedServer.
Une autre façon d'exécuter cette procédure consiste à nommer explicitement les noms des paramètres :
EXEC sp_serveroption
@server = 'MyLinkedServer',
@optname = 'rpc out',
@optvalue = 'on';
Vous pouvez donc voir que le premier argument (@server
) est le nom du serveur lié, le second (@optname
) spécifie le nom de l'option et le troisième argument (@optvalue
) spécifie sa valeur.
C'est tout ce qu'on peut en dire. RPC Out est maintenant activé sur le serveur lié.
Vérifiez le paramètre de sortie RPC
Nous pouvons vérifier notre paramètre de sortie RPC avec le code suivant.
SELECT
is_rpc_out_enabled
FROM sys.servers
WHERE name = 'MyLinkedServer';
Résultat :
+----------------------+ | is_rpc_out_enabled | |----------------------| | 1 | +----------------------+
Une valeur de 1
signifie que RPC Out est activé. Une valeur de 0
signifie qu'il est désactivé.
Désactiver la sortie RPC
Vous pouvez utiliser false
au lieu de true
pour le désactiver.
EXEC sp_serveroption 'MyLinkedServer', 'rpc out', 'false';
L'exécution de ce code désactivera RPC Out sur MyLinkedServer.
Vous pouvez également utiliser on
et off
au lieu de true
et false
pour activer cette option.