当我在 SQL Server 2000 中使用 OPENROWSET 运行查询时,它起作用了。
但 SQL Server 2008 中的相同查询会生成以下错误:
SQL Server 阻止访问组件“Ad Hoc Distributed Queries”的 STATEMENT“OpenRowset/OpenDatasource”,因为此组件已作为此服务器安全配置的一部分关闭。系统管理员可以使用 sp_configure 启用“Ad Hoc Distributed Queries”
我试着跑
EXEC sp_configure 'show advanced options', 1
RECONFIGURE
GO
EXEC sp_configure 'ad hoc distributed queries', 1
RECONFIGURE
GO
但是任何运行尝试RECONFIGURE
都会出现错误:
Msg 5808, Level 16, State 1, Line 1
Ad hoc update to system catalogs is not supported.
如何在 SQL Server 2008 R2 中启用 Ad Hoc 分布式查询?
注意:Microsoft SQL Server 2008 R2 (SP1) - 10.50.2550.0 (X64) Jun 11 2012 16:41:53 Copyright (c) Microsoft Corporation Standard Edition (64-bit) on Windows NT 6.1 (Build 7601: Service Pack 1) (管理程序)
从这里: http ://sqlserverpedia.com/blog/database-design/error-message-ad-hoc-update-to-system-catalogs-is-not-supported/
要么先运行:
或将您的
RECONFIGURE
陈述更改为RECONFIGURE WITH OVERRIDE
: