Ако сте срещнали грешка Msg 7411, ниво 16 в SQL Server, това е, защото трябва да активирате „RPC out“ на свързания сървър, на който се опитвате да изпълните код.
Пример за код, който причинява грешката
За мен изпълнението на следния код води до грешка Msg 7411.
EXEC Homer.Music.dbo.spAlbumsFromArtist
@ArtistName = 'Iron Maiden';
Тук се опитвам да изпълня съхранена процедура на свързания сървър. Но нямам активиран „RPC out“ и така получавам следната грешка:
Съобщение 7411, ниво 16, състояние 1, ред 1 Сървърът „Homer“ не е конфигуриран за RPC.
Въпреки че пише „RPC“, това означава „RPC out“.
Проверете настройката за RPC Out
Можем да проверим нашата настройка за RPC изход със следния код.
SELECT
is_rpc_out_enabled
FROM sys.servers
WHERE name = 'Homer';
Резултат:
+---------------------+| is_rpc_out_enabled ||---------------------|| 0 |+---------------------+
Както се очакваше, не е активирано.
Решението
Следният код активира опцията „RPC out“ за свързания сървър:
EXEC sp_serveroption 'Homer', 'rpc out', 'true';
Резултат:
Командите са завършени успешно.
Голям успех.
Така че, ако проверим отново нашата настройка за RPC за извеждане, тя трябва да бъде настроена на 1
.
Проверете настройката за RPC изход
Нека стартираме кода отново.
SELECT
is_rpc_out_enabled
FROM sys.servers
WHERE name = 'Homer';
Резултат:
+---------------------+| is_rpc_out_enabled ||---------------------|| 1 |+---------------------+
Перфектно!
Така че вече трябва да можем да стартираме съхранената процедура, без да получаваме грешка 7411.
Опитайте да стартирате нашия оригинален код отново
Сега можем да опитаме да изпълним отново отдалечената съхранена процедура и да се надяваме, че няма да получим повече грешки.
EXEC Homer.Music.dbo.spAlbumsFromArtist
@ArtistName = 'Iron Maiden';
Резултат:
+------------------------+--------------+| Име на албум | Дата на издаване ||-----------------------+--------------|| Powerslave | 1984-09-03 || Някъде във времето | 29.09.1986 || Част от ума | 16.05.1983 || Убийци | 1981-02-02 || Без молитва за умиращите | 01.10.1990 г. |+-----------------------+--------------+предварително>Поправено!