我正在尝试使用OPENDATASOURCE
命令从另一个数据库获取数据,但是我收到有关DisallowAdHocAccess的错误。
SQL Server版本是2008 Express Edition,在远程站点上运行。
答案 0 :(得分:2)
OPENROWSET可用于从OLE DB数据源访问远程数据 仅当DisallowAdhocAccess注册表选项显式设置为时 0.如果未设置此选项,则默认行为不允许使用广告 临时访问。
HOW TO: Use the DisallowAdHocAccess Setting to Control Access to Linked Servers
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都不提供所有功能 链接服务器定义。这包括安全管理和 查询目录信息的能力。每次这些功能 被调用,所有连接信息,包括密码,必须是 提供。