Sqlserver
 sql >> डेटाबेस >  >> RDS >> Sqlserver

घटक 'तदर्थ वितरित क्वेरी' के "SQL सर्वर ने STATEMENT 'OpenRowset/OpenDatasource' तक पहुंच को अवरुद्ध कर दिया" को ठीक करें

यदि आपको SQL सर्वर में त्रुटि संदेश 15281, स्तर 16 मिलता है, तो संभावना है कि आप एक तदर्थ वितरित क्वेरी चलाने का प्रयास कर रहे हैं, लेकिन आपने तदर्थ वितरित क्वेरी को सक्षम नहीं किया है।

तदर्थ वितरित प्रश्नों को सक्षम करके इसे आसानी से ठीक किया जा सकता है।

त्रुटि का उदाहरण

यहां कोड का एक उदाहरण दिया गया है जो त्रुटि उत्पन्न करता है।

SELECT * FROM OPENROWSET(
    'SQLNCLI', 
    'Server=Homer;Trusted_Connection=yes;', 
    'SELECT * FROM Music.dbo.vAlbums');

परिणाम:

Msg 15281, Level 16, State 1, Line 1
SQL Server blocked access to STATEMENT 'OpenRowset/OpenDatasource' of component 'Ad Hoc Distributed Queries' because this component is turned off as part of the security configuration for this server. A system administrator can enable the use of 'Ad Hoc Distributed Queries' by using sp_configure. For more information about enabling 'Ad Hoc Distributed Queries', search for 'Ad Hoc Distributed Queries' in SQL Server Books Online.

जैसा कि त्रुटि संदेश बताता है, एक सिस्टम व्यवस्थापक sp_configure का उपयोग करके तदर्थ वितरित क्वेरी को सक्षम कर सकता है सिस्टम संग्रहीत प्रक्रिया।

समाधान

समस्या को ठीक करने के लिए निम्न कोड चलाएँ।

EXEC sp_configure 'show advanced options', 1
RECONFIGURE WITH OVERRIDE
GO
EXEC sp_configure 'ad hoc distributed queries', 1
RECONFIGURE WITH OVERRIDE
GO

पहला भाग शो के उन्नत विकल्पों को सक्षम करता है, जो sp_configure . प्रदर्शित करता है सिस्टम संग्रहीत कार्यविधि उन्नत विकल्प। यदि यह सक्षम नहीं है, तो आपको एक और त्रुटि (शायद त्रुटि संदेश 15123) मिलेगी, यह बताते हुए कि कॉन्फ़िगरेशन विकल्प या तो मौजूद नहीं है या यह एक उन्नत विकल्प हो सकता है।

दूसरा भाग sp_configure . का उपयोग करता है तदर्थ वितरित क्वेरी विकल्प को सक्षम करने के लिए।

एक बार जब आप उस कोड को चला लेते हैं, तो आपको तदर्थ वितरित क्वेरी चलाने में सक्षम होना चाहिए।

उन्नत विकल्प छुपाएं

एक बार जब आप तदर्थ वितरित क्वेरी को सक्षम कर लेते हैं, तो आपको शायद शो उन्नत विकल्प फिर से छिपा देना चाहिए।

EXEC sp_configure 'show advanced options', 0;  
GO
RECONFIGURE;  
GO

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. TSQL md5 हैश C# .NET md5 से अलग है

  2. SQL सर्वर में एक अस्थायी तालिका में संग्रहीत कार्यविधि के परिणाम कैसे सम्मिलित करें

  3. SQL सर्वर (T-SQL) में डेटाबेस मेल खातों की सूची प्राप्त करें

  4. टी-एसक्यूएल में मूल्यों की सूची में कॉलम की तुलना करना

  5. सी # प्रोग्राम के भीतर संग्रहीत प्रक्रिया को कैसे निष्पादित करें