sql >> Databáze >  >> RDS >> Sqlserver

Jak opravit „Server není nakonfigurován pro RPC“ Msg 7411 pomocí T-SQL

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!


  1. Správa oken v Oracle D2k Forms

  2. Připojení softwaru IRI k Oracle

  3. Jak mohu VYBRAT více sloupců v CASE WHEN na SQL Server?

  4. Nodejs vyjadřuje a slibuje, že neudělá to, co očekávám