当我在SQL Server 2000中使用OPENROWSET
运行查询时,它可以正常工作。
但SQL Server 2008中的相同查询会生成以下错误:
SQL Server阻止访问组件“Ad Hoc Distributed Queries”的STATEMENT“OpenRowset / OpenDatasource”,因为此组件已作为此服务器的安全配置的一部分关闭。系统管理员可以使用 sp_configure
启用'Ad Hoc Distributed Queries'
答案 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
答案 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