Möglicherweise müssen Sie gelegentlich die Option „RPC Out“ auf einem Verbindungsserver aktivieren. Diese Option aktiviert RPC zum angegebenen Server.
RPC steht für Remote Procedure Calls. RPC ist im Grunde eine gespeicherte Prozedur, die remote von Server 1 zu Verbindungsserver 2 ausgeführt wird.
Wenn Sie dies nicht aktivieren und versuchen, eine gespeicherte Prozedur auf dem Verbindungsserver auszuführen, erhalten Sie wahrscheinlich die Fehlermeldung 7411, die Ihnen mitteilt, dass der Server nicht für RPC konfiguriert ist.
Wie auch immer, Sie können diese Option entweder mit SQL Server Management Studio (SSMS) oder mit T-SQL aktivieren/deaktivieren.
In SSMS können Sie zu den Linked Server Properties
gehen indem Sie mit der rechten Maustaste auf den Namen des verknüpften Servers klicken. Klicken Sie dort auf Server Options
, wo Sie RPC Out
sehen Option entweder auf True
gesetzt oder False
.
In T-SQL können Sie die sp_serveroption
verwenden systemgespeicherte Prozedur, um dasselbe zu tun.
Beispiel
Hier ist ein Beispiel für die Verwendung von sp_serveroption
um „RPC Out“ auf einem Verbindungsserver zu aktivieren.
EXEC sp_serveroption 'MyLinkedServer', 'rpc out', 'true';
Dadurch wird die RPC-Out-Option für den Verbindungsserver namens MyLinkedServer aktiviert.
Eine andere Möglichkeit, dieses Verfahren auszuführen, besteht darin, die Parameternamen explizit zu benennen:
EXEC sp_serveroption
@server = 'MyLinkedServer',
@optname = 'rpc out',
@optvalue = 'on';
Sie können also sehen, dass das erste Argument (@server
) ist der Name des Verbindungsservers, der zweite (@optname
) gibt den Optionsnamen und das dritte Argument (@optvalue
) gibt seinen Wert an.
Das ist alles dazu. RPC Out ist jetzt auf dem Verbindungsserver aktiviert.
Überprüfen Sie die RPC-Out-Einstellung
Wir können unsere RPC-Out-Einstellung mit dem folgenden Code überprüfen.
SELECT
is_rpc_out_enabled
FROM sys.servers
WHERE name = 'MyLinkedServer';
Ergebnis:
+----------------------+ | is_rpc_out_enabled | |----------------------| | 1 | +----------------------+
Ein Wert von 1
bedeutet, dass RPC Out aktiviert ist. Ein Wert von 0
bedeutet, dass es deaktiviert ist.
RPC-Ausgang deaktivieren
Sie können false
verwenden statt true
um es zu deaktivieren.
EXEC sp_serveroption 'MyLinkedServer', 'rpc out', 'false';
Durch Ausführen dieses Codes wird RPC Out auf MyLinkedServer deaktiviert.
Alternativ können Sie on
verwenden und off
statt true
und false
um diese Option umzuschalten.