如何在SQL Server 2008中禁用disallowadhocaccess

时间:2011-08-10 13:27:40

标签: sql-server

我正在尝试使用OPENDATASOURCE命令从另一个数据库获取数据,但是我收到有关DisallowAdHocAccess的错误。

SQL Server版本是2008 Express Edition,在远程站点上运行。

1 个答案:

答案 0 :(得分:2)

  

OPENROWSET可用于从OLE DB数据源访问远程数据   仅当DisallowAdhocAccess注册表选项显式设置为时   0.如果未设置此选项,则默认行为不允许使用广告   临时访问。

HOW TO: Use the DisallowAdHocAccess Setting to Control Access to Linked Servers

Accessing External Data

  

ad hoc名称用于针对OLE DB数据的不频繁查询   未定义为链接服务器的源。在SQL Server中,   OPENROWSET和OPENDATASOURCE函数提供连接信息   用于从OLE DB数据源访问数据。默认情况下,ad hoc   名称不受支持。 DisallowAdhocAccess提供程序选项必须   设置为0和Ad Hoc Distributed Queries高级配置   必须启用选项。

     

安全说明

     

启用ad hoc名称意味着任何经过身份验证的登录   SQL Server可以访问提供程序。 SQL Server管理员应该   仅为高度可信的安全提供商启用此功能   可以通过任何本地登录访问。

     

OPENROWSET和OPENDATASOURCE只能用于引用OLE DB   不经常访问的数据源。对于任何数据源   将被访问多次,定义一个链接服务器。   OPENDATASOURCE和OPENROWSET都不提供所有功能   链接服务器定义。这包括安全管理和   查询目录信息的能力。每次这些功能   被调用,所有连接信息,包括密码,必须是   提供。