SQL Server 阻止了对组件 'Ad Hoc Distributed Queries' 的 STATEMENT'OpenRowset/OpenDatasource' 的访问
sqlserver 跨电脑服务器 导数据库 表
原因:在从远程服务器复制数据到本地时出现“SQL Server 阻止了对组件 'Ad Hoc Distributed Queries' 的 STATEMENT'OpenRowset/OpenDatasource' 的访问,因为此组件已作为此服务器安全配置的一部分而被关闭。系统管理员可以通过使用 sp_configure 启用 'Ad Hoc Distributed Queries'。有关启用 'Ad Hoc Distributed Queries' 的详细信息 ”错误,因此网上搜索,发现以下解决方法:
启用Ad Hoc Distributed Queries:
- exec sp_configure 'show advanced options',1
- reconfigure
- exec sp_configure 'Ad Hoc Distributed Queries',1
- reconfigure
使用完成后,关闭Ad Hoc Distributed Queries:
- exec sp_configure 'Ad Hoc Distributed Queries',0
- reconfigure
- exec sp_configure 'show advanced options',0
- reconfigure
本人验证成功:
后查询SQL联机丛书,MSDN官方为下以内容:
默认情况下,SQL Server并不允许专案分布式查询使用OPENROWSET和OPENDATASOURCE。当这个选项被设置为1,SQL Server允许即席访问。当此选项未设置或设置为0,SQL Server不允许即席访问。
特设分布式查询使用OPENROWSET和OPENDATASOURCE函数连接到远程数据源,使用OLE DB。 OPENROWSET和OPENDATASOURCE应该只用于引用OLE DB数据源很少访问。将会比多次访问的任何数据源,定义链接服务器。
Security Note 安全注意事项
启用使用的专案名称,意味着任何身份验证登录到SQL Server可以访问的供应商。 SQL Server管理员应该启用此功能为供应商,安全,可以由任何本地登录访问。欲了解更多信息,请参阅在访问外部数据 的DisallowAdhocAccess选项
http://msdn.microsoft.com/en-us/library/ms187569.aspx
特此MARK!!!