0%

解决SQL Server 阻止了对组件Ad Hoc Distributed Queries访问

问题

1
2
3
报错内容是:

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

解决

通过sql代码来执行修改

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

1
2
3
4
5
6
7
exec sp_configure 'show advanced options',1

reconfigure

exec sp_configure 'Ad Hoc Distributed Queries',1

reconfigure

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

1
2
3
4
5
6
7
exec sp_configure 'Ad Hoc Distributed Queries',0

reconfigure

exec sp_configure 'show advanced options',0

reconfigure

通过SSMS来修改设置

开始 –所有程序 –Microsoft SQL Server 2008 R2 –SQL Server Management Studio。

进入后会弹出窗口【连接到服务器】,在【身份验证】选择中【Windows身份验证】– 点击【连接】。

在数据库服务实例名,点击鼠标右键【方面】。

在窗口【查看方面】–点击【常规】–【方面】–选择【外围应用配置器】。

找到【AdHocRemoteQueriesEnabled】–选择【True】–点击【确定】,退出后再登录程序即可。