我想从启用了“Ad Hoc Distributed Queries”的远程SQL Server数据库中选择一些数据。远程服务器不是我本地实例的链接服务器,而不是我的ODBC数据源。我认为无论如何都不应该这样。
但是我不明白怎么做到这一点。我试过这个(用xx.xx.xx.xx
部分替换远程服务器的IP地址):
SELECT *
FROM OPENDATASOURCE(
'SQLNCLI',
'Data Source=xx.xx.xx.xx\MSSQLSERVER;User ID=SA;Password=SA;').MainDB.dbo.Product
我收到以下错误:
Msg 15281,Level 16,State 1,Line 1: SQL Server阻止访问STATEMENT的'OpenRowset / OpenDatasource' 组件'Ad Hoc Distributed Queries',因为该组件是 作为此服务器的安全配置的一部分关闭。一个 系统管理员可以启用“Ad Hoc Distributed” 使用sp_configure查询。有关启用的更多信息 'Ad Hoc Distributed Queries',搜索'Ad Hoc Distributed Queries' 在SQL Server联机丛书中。
远程服务器肯定有100%的'Ad Hoc Distributed Queries'。我错过了什么?我也在远程服务器上打开了SQL Server Browser。