Se você encontrou o erro Msg 7411, Level 16 no SQL Server, é porque você precisa habilitar “RPC out” no servidor vinculado no qual você está tentando executar o código.
Exemplo de código que causa o erro
Para mim, a execução do código a seguir resulta no erro Msg 7411.
EXEC Homer.Music.dbo.spAlbumsFromArtist
@ArtistName = 'Iron Maiden';
Aqui, estou tentando executar um procedimento armazenado no servidor vinculado. Mas eu não tenho “RPC out” habilitado e então recebo o seguinte erro:
Msg 7411, Level 16, State 1, Line 1Server 'Homer' não está configurado para RPC.
Mesmo que leia “RPC”, significa “RPC out”.
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 = 'Homer';
Resultado:
+----------------------+| is_rpc_out_enabled ||---------------------------------|| 0 |+----------------------+
Como esperado, não está ativado.
A solução
O código a seguir habilita a opção “RPC out” para o servidor vinculado:
EXEC sp_serveroption 'Homer', 'rpc out', 'true';
Resultado:
Comandos concluídos com sucesso.
Grande sucesso.
Portanto, se verificarmos nossa configuração de saída de RPC novamente, ela deverá ser definida como
1
. Verifique a configuração de saída RPC
Vamos executar o código novamente.
SELECT
is_rpc_out_enabled
FROM sys.servers
WHERE name = 'Homer';
Resultado:
+----------------------+| is_rpc_out_enabled ||---------------------------------|| 1 |+----------------------+
Perfeito!
Portanto, agora devemos ser capazes de executar o procedimento armazenado sem obter o erro 7411.
Tente executar nosso código original novamente
Agora podemos tentar executar o procedimento armazenado remoto novamente e esperamos não receber mais erros.
EXEC Homer.Music.dbo.spAlbumsFromArtist
@ArtistName = 'Iron Maiden';
Resultado:
+-------------------------+---------------+| Nome do álbum | ReleaseDate ||-------------------------+---------------|| Powerslave | 03-09-1984 || Em algum lugar no tempo | 29-09-1986 || Pedaço de Mente | 16-05-1983 || Assassinos | 02-02-1981 || Nenhuma oração pelos moribundos | 1990-10-01 |+-------------------------+---------------+
Fixo!