提问人:emergency coder 提问时间:1/27/2013 最后编辑:Aaron Bertrandemergency coder 更新时间:11/19/2023 访问量:265690
如何启用即席分布式查询
How to enable Ad Hoc Distributed Queries
问:
当我在 SQL Server 2000 中运行查询时,它可以正常工作。OPENROWSET
但是 SQL Server 2008 中的相同查询会生成以下错误:
SQL Server 阻止了对组件“Ad Hoc Distributed Queries”的 STATEMENT “OpenRowset/OpenDatasource” 的访问,因为此组件作为此服务器安全配置的一部分处于关闭状态。系统管理员可以通过以下方式启用“Ad Hoc Distributed Queries”sp_configure
答:
253赞
Hasib Tarafder
1/27/2013
#1
以下命令可能会对您有所帮助。
EXEC sp_configure 'show advanced options', 1
RECONFIGURE
GO
EXEC sp_configure 'ad hoc distributed queries', 1
RECONFIGURE
GO
评论
3赞
cusman
11/16/2020
唯一缺少的是您应该将“显示高级选项”更改回 0
17赞
user1977878
1/28/2013
#2
您可以检查以下命令
sp_configure 'show advanced options', 1;
RECONFIGURE;
GO --Added
sp_configure 'Ad Hoc Distributed Queries', 1;
RECONFIGURE;
GO
SELECT a.*
FROM OPENROWSET('SQLNCLI', 'Server=Seattle1;Trusted_Connection=yes;',
'SELECT GroupName, Name, DepartmentID
FROM AdventureWorks2012.HumanResources.Department
ORDER BY GroupName, Name') AS a;
GO
或此文档链接
评论
5赞
8/30/2013
您需要在第一个“重新配置”之后添加一个“GO”,否则这是一个完美的解决方案
1赞
Sebastien H.
3/21/2014
您不需要在 SELECT 之前链接服务器吗?
3赞
user2129794
6/17/2013
#3
sp_configure 'show advanced options', 1;
GO
RECONFIGURE;
GO
sp_configure 'Ad Hoc Distributed Queries', 1;
GO
RECONFIGURE;
GO
评论
2赞
Rob
8/19/2015
您不需要在每行之后都加上 GO
5赞
Robino
1/27/2017
#4
如果“不支持”对系统目录的临时更新,或者如果收到“Msg 5808”,则需要进行如下配置:
EXEC sp_configure 'show advanced options', 1
RECONFIGURE with override
GO
EXEC sp_configure 'ad hoc distributed queries', 1
RECONFIGURE with override
GO
评论