यदि आपको SQL सर्वर में त्रुटि संदेश 7411, स्तर 16 का सामना करना पड़ा है, तो ऐसा इसलिए है क्योंकि आपको लिंक किए गए सर्वर पर "RPC आउट" को सक्षम करने की आवश्यकता है, जिस पर आप कोड निष्पादित करने का प्रयास कर रहे हैं।
कोड का उदाहरण जो त्रुटि का कारण बनता है
मेरे लिए, निम्न कोड चलाने से Msg 7411 त्रुटि होती है।
EXEC Homer.Music.dbo.spAlbumsFromArtist
@ArtistName = 'Iron Maiden';
यहां, मैं लिंक किए गए सर्वर पर संग्रहीत कार्यविधि को निष्पादित करने का प्रयास कर रहा हूं। लेकिन मेरे पास "RPC आउट" सक्षम नहीं है और इसलिए मुझे निम्न त्रुटि मिलती है:
Msg 7411, Level 16, State 1, Line 1 Server 'Homer' is not configured for RPC.
भले ही यह "RPC" पढ़ता है, इसका अर्थ है "RPC आउट"।
आरपीसी आउट सेटिंग जांचें
हम निम्नलिखित कोड के साथ अपनी RPC आउट सेटिंग की जांच कर सकते हैं।
SELECT
is_rpc_out_enabled
FROM sys.servers
WHERE name = 'Homer';
परिणाम:
+----------------------+ | is_rpc_out_enabled | |----------------------| | 0 | +----------------------+
जैसा कि अपेक्षित था, यह सक्षम नहीं है।
समाधान
निम्न कोड लिंक किए गए सर्वर के लिए "RPC आउट" विकल्प को सक्षम करता है:
EXEC sp_serveroption 'Homer', 'rpc out', 'true';
परिणाम:
Commands completed successfully.
महान सफलता।
इसलिए यदि हम अपनी 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';
परिणाम:
+-------------------------+---------------+ | AlbumName | ReleaseDate | |-------------------------+---------------| | Powerslave | 1984-09-03 | | Somewhere in Time | 1986-09-29 | | Piece of Mind | 1983-05-16 | | Killers | 1981-02-02 | | No Prayer for the Dying | 1990-10-01 | +-------------------------+---------------+
फिक्स्ड!