方法一:
语句:
select *
from opendatasource('SQLOLEDB','Password=密码;Persist Security Info=True;User ID=用户名;Data Source=数据库服务器').数据库.dbo.表名
运行后提示错误:
SQL Server 阻止了对组件 'Ad Hoc Distributed Queries' 的 STATEMENT'OpenRowset/OpenDatasource' 的访问,因为此组件已作为此服务器安全配置的一部分而被关闭。系统管理员可以通过使用 sp_configure 启用 'Ad Hoc Distributed Queries'。有关启用 'Ad Hoc Distributed Queries' 的详细信息,请参阅 SQL Server 联机丛书中的 "外围应用配置器"。
解决:
--启用Ad Hoc Distributed Queries:
exec sp_configure 'show advanced options',1
reconfigure
exec sp_configure 'Ad Hoc Distributed Queries',1
reconfigure
select *
from opendatasource('SQLOLEDB','Password=密码;Persist Security Info=True;User ID=用户名;Data Source=数据库服务器').数据库.dbo.表名
-- 使用完成后,关闭Ad Hoc Distributed Queries:
exec sp_configure 'Ad Hoc Distributed Queries',0
reconfigure
exec sp_configure 'show advanced options',0
reconfigure
方法二:
语句:
select *
from opendatasource('SQLOLEDB','Password=密码;Persist Security Info=True;User ID=用户名;Data Source=数据库服务器').数据库.dbo.表名
运行后提示错误:
SQL Server 阻止了对组件 'Ad Hoc Distributed Queries' 的 STATEMENT'OpenRowset/OpenDatasource' 的访问,因为此组件已作为此服务器安全配置的一部分而被关闭。系统管理员可以通过使用 sp_configure 启用 'Ad Hoc Distributed Queries'。有关启用 'Ad Hoc Distributed Queries' 的详细信息,请参阅 SQL Server 联机丛书中的 "外围应用配置器"。
解决:
--启用Ad Hoc Distributed Queries:
exec sp_configure 'show advanced options',1
reconfigure
exec sp_configure 'Ad Hoc Distributed Queries',1
reconfigure
select *
from opendatasource('SQLOLEDB','Password=密码;Persist Security Info=True;User ID=用户名;Data Source=数据库服务器').数据库.dbo.表名
-- 使用完成后,关闭Ad Hoc Distributed Queries:
exec sp_configure 'Ad Hoc Distributed Queries',0
reconfigure
exec sp_configure 'show advanced options',0
reconfigure
方法二:
Exec sp_droplinkedsrvlogin 数据库服务器,Null
Exec sp_dropserver 数据库服务器
EXEC sp_addlinkedserver
@server='数据库服务器',
@srvproduct='',
@provider='SQLOLEDB',
@datasrc='数据库'
EXEC sp_addlinkedsrvlogin
'数据库服务器',
'false',
NULL,
'用户名',
'密码'
查询:Select * from 数据库服务器.数据库.dbo.表名
运行后错误:
命名管道提供程序: 无法打开与 SQL Server 的连接 [53].
解决:
暂时没有找到方法。网上的方法都试过几个都不行。