Pokud jste na serveru SQL narazili na chybu Msg 7411, Level 16, je to proto, že musíte povolit „RPC out“ na propojeném serveru, na kterém se pokoušíte spustit kód.
Příklad kódu, který způsobuje chybu
Pro mě má spuštění následujícího kódu za následek chybu Msg 7411.
EXEC Homer.Music.dbo.spAlbumsFromArtist
@ArtistName = 'Iron Maiden';
Zde se pokouším provést uloženou proceduru na propojeném serveru. Ale nemám povoleno „RPC out“, a tak se mi zobrazuje následující chyba:
Zpráva 7411, úroveň 16, stav 1, řádek 1 Server 'Homer' není nakonfigurován pro RPC.
I když to zní „RPC“, znamená to „RPC out“.
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 = 'Homer';
Výsledek:
+----------------------+| is_rpc_out_enabled ||----------------------|| 0 |+----------------------+
Podle očekávání to není povoleno.
Řešení
Následující kód povoluje možnost „RPC out“ pro propojený server:
EXEC sp_serveroption 'Homer', 'rpc out', 'true';
Výsledek:
Příkazy byly úspěšně dokončeny.
Velký úspěch.
Takže pokud znovu zkontrolujeme naše nastavení RPC out, mělo by být nyní nastaveno na 1
.
Ověřte nastavení výstupu RPC
Spusťte kód znovu.
SELECT
is_rpc_out_enabled
FROM sys.servers
WHERE name = 'Homer';
Výsledek:
+----------------------+| is_rpc_out_enabled ||----------------------|| 1 |+----------------------+
Perfektní!
Nyní bychom tedy měli být schopni spustit uloženou proceduru, aniž bychom dostali chybu 7411.
Zkuste znovu spustit náš původní kód
Nyní se můžeme pokusit provést vzdálenou uloženou proceduru znovu a doufejme, že se již neobjeví žádné další chyby.
EXEC Homer.Music.dbo.spAlbumsFromArtist
@ArtistName = 'Iron Maiden';
Výsledek:
+-------------------------+---------------+| Název alba | Datum vydání ||-------------------------+---------------|| Powerslave | 1984-09-03 || Někde v čase | 1986-09-29 || Kousek mysli | 1983-05-16 || Zabijáci | 1981-02-02 || Žádná modlitba za umírající | 1990-10-01 |+-------------------------+---------------+Opraveno!