Czasami może być konieczne włączenie opcji „Wyjście RPC” na serwerze połączonym. Ta opcja włącza RPC do danego serwera.
RPC to skrót od Remote Procedure Calls. RPC to w zasadzie procedura składowana uruchamiana zdalnie z serwera 1 do połączonego serwera 2.
Jeśli tego nie włączysz i spróbujesz wykonać procedurę składowaną na połączonym serwerze, prawdopodobnie otrzymasz komunikat o błędzie Msg 7411 z informacją, że serwer nie jest skonfigurowany do obsługi RPC.
W każdym razie możesz włączyć/wyłączyć tę opcję za pomocą SQL Server Management Studio (SSMS) lub T-SQL.
W SSMS możesz przejść do Linked Server Properties
klikając prawym przyciskiem myszy nazwę połączonego serwera. Następnie kliknij Server Options
, gdzie zobaczysz RPC Out
opcja ustawiona na True
lub False
.
W T-SQL możesz użyć sp_serveroption
systemowa procedura składowana, aby zrobić to samo.
Przykład
Oto przykład użycia sp_serveroption
aby włączyć „Wyjście RPC” na podłączonym serwerze.
EXEC sp_serveroption 'MyLinkedServer', 'rpc out', 'true';
Włącza to opcję wyjścia RPC dla połączonego serwera o nazwie MyLinkedServer.
Innym sposobem wykonania tej procedury jest jawne nazwanie nazw parametrów:
EXEC sp_serveroption
@server = 'MyLinkedServer',
@optname = 'rpc out',
@optvalue = 'on';
Możesz więc zobaczyć, że pierwszy argument (@server
) to nazwa połączonego serwera, drugi (@optname
) określa nazwę opcji i trzeci argument (@optvalue
) określa jego wartość.
To wszystko. Wyjście RPC jest teraz włączone na połączonym serwerze.
Sprawdź ustawienie wyjścia RPC
Możemy sprawdzić nasze ustawienie RPC out za pomocą następującego kodu.
SELECT
is_rpc_out_enabled
FROM sys.servers
WHERE name = 'MyLinkedServer';
Wynik:
+----------------------+ | is_rpc_out_enabled | |----------------------| | 1 | +----------------------+
Wartość 1
oznacza, że wyjście RPC jest włączone. Wartość 0
oznacza, że jest wyłączony.
Wyłączanie wyjścia RPC
Możesz użyć false
zamiast true
aby go wyłączyć.
EXEC sp_serveroption 'MyLinkedServer', 'rpc out', 'false';
Wykonanie tego kodu spowoduje wyłączenie RPC Out na MyLinkedServer.
Możesz alternatywnie użyć on
i off
zamiast true
i false
aby przełączyć tę opcję.