首页 > 代码库 > 解决SQL Server 阻止了对组件 'Ad Hoc Distributed Queries' 的 STATEMENT 'OpenRowset/OpenDatasource' 的访问

解决SQL Server 阻止了对组件 'Ad Hoc Distributed Queries' 的 STATEMENT 'OpenRowset/OpenDatasource' 的访问

根据需要进行asp.net的数据导入导出,结果报以下错:

SQL Server 阻止了对组件 ‘Ad Hoc Distributed Queries‘ 的 STATEMENT ‘OpenRowset/OpenDatasource‘ 的访问,因为此组件已作为此服务器安全配置的一部分而被关闭。系统管理员可以通过使用 sp_configure 启用 ‘Ad Hoc Distributed Queries‘。有关启用 ‘Ad Hoc Distributed Queries‘ 的详细信息,请参阅 SQL Server 联机丛书中的 "外围应用配置器"。

 

开启Ad Hoc Distributed Queries组件,在sql查询编辑器中执行如下语句:

1 --配置权限 
2 EXEC sp_configure show advanced options, 1; 
3 GO 
4 RECONFIGURE; 
5 GO 
6 EXEC sp_configure Ad Hoc Distributed Queries, 1; 
7 GO 
8 RECONFIGURE; 
9 GO 

执行结果:

技术分享

 

 

关闭Ad Hoc Distributed Queries组件,在sql查询编辑器中执行如下语句:

1 exec sp_configure Ad Hoc Distributed Queries,0;
2 go
3 reconfigure;
4 go
5 exec sp_configure show advanced options,0;
6 go
7 reconfigure;
8 go

 

解决SQL Server 阻止了对组件 'Ad Hoc Distributed Queries' 的 STATEMENT 'OpenRowset/OpenDatasource' 的访问