sql >> Database teknologi >  >> RDS >> Sqlserver

Ret "SQL-server blokerede adgang til ERKLÆRING 'OpenRowset/OpenDatasource' for komponenten 'Ad Hoc Distributed Queries'

Hvis du får fejlmeddelelse 15281, niveau 16 i SQL Server, er chancerne for, at du forsøger at køre en ad hoc distribueret forespørgsel, men du har ikke aktiveret ad hoc distribuerede forespørgsler.

Dette kan nemt rettes ved at aktivere ad hoc distribuerede forespørgsler.

Eksempel på fejlen

Her er et eksempel på kode, der producerer fejlen.

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

Resultat:

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.

Som fejlmeddelelsen angiver, kan en systemadministrator aktivere ad hoc distribuerede forespørgsler ved at bruge sp_configure systemlagret procedure.

Løsning

Kør følgende kode for at løse problemet.

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

Den første del aktiverer Vis avancerede muligheder, som viser sp_configure systemlagret procedure avancerede muligheder. Hvis dette ikke er aktiveret, vil du få en anden fejl (sandsynligvis fejlmeddelelse 15123), der angiver, at konfigurationsmuligheden enten ikke eksisterer, eller at det kan være en avanceret mulighed.

Den anden del bruger sp_configure for at aktivere muligheden for ad hoc distribuerede forespørgsler.

Når du har kørt den kode, burde du være i stand til at køre ad hoc-distribuerede forespørgsler.

Skjul avancerede indstillinger

Når du har aktiveret ad hoc-distribuerede forespørgsler, bør du sandsynligvis skjule de avancerede indstillinger igen.

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

  1. Opsætning af fremmednøgle med anden datatype

  2. Oracle Datatyper

  3. SQL Vælg kommende fødselsdage

  4. Tæl tabelrækker