Občas může být potřeba povolit možnost „RPC Out“ na propojeném serveru. Tato volba povolí RPC danému serveru.
RPC je zkratka pro Remote Procedure Calls. RPC je v podstatě uložená procedura spouštěná vzdáleně ze serveru 1 na propojený server 2.
Pokud toto nepovolíte a pokusíte se provést uloženou proceduru na propojeném serveru, pravděpodobně se zobrazí chybová zpráva 7411, která vám říká, že server není nakonfigurován pro RPC.
Tuto možnost můžete povolit/zakázat buď pomocí SQL Server Management Studio (SSMS) nebo pomocí T-SQL.
V SSMS můžete přejít do Linked Server Properties
kliknutím pravým tlačítkem myši na název propojeného serveru. Odtud klikněte na Server Options
, kde uvidíte RPC Out
možnost nastavena buď na True
nebo False
.
V T-SQL můžete použít sp_serveroption
systémová uložená procedura k provedení stejné věci.
Příklad
Zde je příklad použití sp_serveroption
pro povolení „RPC Out“ na propojeném serveru.
EXEC sp_serveroption 'MyLinkedServer', 'rpc out', 'true';
To umožňuje volbu RPC Out pro propojený server s názvem MyLinkedServer.
Dalším způsobem, jak provést tento postup, je explicitně pojmenovat názvy parametrů:
EXEC sp_serveroption
@server = 'MyLinkedServer',
@optname = 'rpc out',
@optvalue = 'on';
Takže vidíte, že první argument (@server
) je název propojeného serveru, druhý (@optname
) určuje název možnosti a třetí argument (@optvalue
) určuje jeho hodnotu.
To je vše. Výstup RPC je nyní na propojeném serveru povolen.
Zkontrolujte nastavení RPC Out
Nastavení RPC out můžeme zkontrolovat pomocí následujícího kódu.
SELECT
is_rpc_out_enabled
FROM sys.servers
WHERE name = 'MyLinkedServer';
Výsledek:
+----------------------+ | is_rpc_out_enabled | |----------------------| | 1 | +----------------------+
Hodnota 1
znamená, že je povolen výstup RPC. Hodnota 0
znamená, že je zakázáno.
Zakázání výstupu RPC
Můžete použít false
místo true
jej zakázat.
EXEC sp_serveroption 'MyLinkedServer', 'rpc out', 'false';
Spuštění tohoto kódu zakáže RPC Out na MyLinkedServer.
Alternativně můžete použít on
a off
místo true
a false
pro přepnutí této možnosti.