Ocasionalmente, você pode precisar habilitar a opção “RPC Out” em um servidor vinculado. Esta opção habilita o RPC para o servidor fornecido.
RPC significa Chamadas de Procedimento Remoto. RPC é basicamente um procedimento armazenado sendo executado remotamente do Servidor 1 para o Servidor 2 vinculado.
Se você não habilitar isso e tentar executar um procedimento armazenado no servidor vinculado, provavelmente receberá o erro Msg 7411 informando que o servidor não está configurado para RPC.
De qualquer forma, você pode habilitar/desabilitar esta opção usando SQL Server Management Studio (SSMS) ou com T-SQL.
No SSMS, você pode acessar as
Linked Server Properties
clicando com o botão direito do mouse no nome do servidor vinculado. A partir daí, clique em Server Options
, onde você verá o RPC Out
opção definida como True
ou False
. Em T-SQL você pode usar a
sp_serveroption
procedimento armazenado do sistema para fazer a mesma coisa. Exemplo
Aqui está um exemplo de uso de
sp_serveroption
para habilitar “RPC Out” em um servidor vinculado. EXEC sp_serveroption 'MyLinkedServer', 'rpc out', 'true';
Isso habilita a opção RPC Out para o servidor vinculado chamado MyLinkedServer.
Outra maneira de executar este procedimento é nomear explicitamente os nomes dos parâmetros:
EXEC sp_serveroption
@server = 'MyLinkedServer',
@optname = 'rpc out',
@optvalue = 'on';
Então você pode ver que o primeiro argumento (
@server
) é o nome do servidor vinculado, o segundo (@optname
) especifica o nome da opção e o terceiro argumento (@optvalue
) especifica seu valor. Isso é tudo o que há para isso. RPC Out agora está habilitado no servidor vinculado.
Verifique a configuração de saída RPC
Podemos verificar nossa configuração de saída de RPC com o código a seguir.
SELECT
is_rpc_out_enabled
FROM sys.servers
WHERE name = 'MyLinkedServer';
Resultado:
+----------------------+ | is_rpc_out_enabled | |----------------------| | 1 | +----------------------+
Um valor de
1
significa que a saída RPC está habilitada. Um valor de 0
significa que está desabilitado. Desativando RPC Out
Você pode usar
false
em vez de true
para desativá-lo. EXEC sp_serveroption 'MyLinkedServer', 'rpc out', 'false';
A execução desse código desabilitará o RPC Out em MyLinkedServer.
Você também pode usar
on
e off
em vez de true
e false
para alternar esta opção.