如何启用Ad Hoc Distributed Queries

时间:2013-01-27 03:48:05

标签: sql sql-server-2008

当我在SQL Server 2000中使用OPENROWSET运行查询时,它可以正常工作。

但SQL Server 2008中的相同查询会生成以下错误:

  

SQL Server阻止访问组件“Ad Hoc Distributed Queries”的STATEMENT“OpenRowset / OpenDatasource”,因为此组件已作为此服务器的安全配置的一部分关闭。系统管理员可以使用 sp_configure

启用'Ad Hoc Distributed Queries'

4 个答案:

答案 0 :(得分:201)

以下命令可以帮助您..

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

答案 1 :(得分:13)

您可以查看以下命令

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

documentation link

答案 2 :(得分:1)

sp_configure 'show advanced options', 1;
GO
RECONFIGURE;
GO
sp_configure 'Ad Hoc Distributed Queries', 1;
GO
RECONFIGURE;
GO

答案 3 :(得分:1)

如果系统目录的临时更新“不受支持”,或者您收到“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