执行下面的出错了:
exec sp_addlinkedserver 'srv_lnk','','SQLOLEDB','Data Source=192.168.0.38;User ID=build;Password=123'
exec sp_addlinkedsrvlogin 'srv_lnk','false',null,'build','123'
select top 1 * from srv_lnk.book.dbo.tbl_book出错信息:
服务器: 消息 17,级别 16,状态 1,行 12
SQL Server 不存在或拒绝访问。如果上面的再加上
exec sp_serveroption N'srv_lnk', N'rpc out', N'true'
exec sp_serveroption N'srv_lnk', N'rpc', N'true' 也同样出错,错误信息一样而执行下面这个,却能取出数据,是为什么?
SELECT top 1 * FROM OPENDATASOURCE('SQLOLEDB','Data Source=192.168.0.38;User ID=build;Password=123').book.dbo.tbl_book
exec sp_addlinkedserver 'srv_lnk','','SQLOLEDB','Data Source=192.168.0.38;User ID=build;Password=123'
exec sp_addlinkedsrvlogin 'srv_lnk','false',null,'build','123'
select top 1 * from srv_lnk.book.dbo.tbl_book出错信息:
服务器: 消息 17,级别 16,状态 1,行 12
SQL Server 不存在或拒绝访问。如果上面的再加上
exec sp_serveroption N'srv_lnk', N'rpc out', N'true'
exec sp_serveroption N'srv_lnk', N'rpc', N'true' 也同样出错,错误信息一样而执行下面这个,却能取出数据,是为什么?
SELECT top 1 * FROM OPENDATASOURCE('SQLOLEDB','Data Source=192.168.0.38;User ID=build;Password=123').book.dbo.tbl_book
exec sp_addlinkedsrvlogin 'srv_lnk','false',null,'build','123'
是这一行出的错误么?
执行存储过程sp_addlinkedsrvlogin 需要用户具有一定的权限
只有 sysadmin 和 securityadmin 固定服务器角色的成员才可以执行 sp_addlinkedsrvlogin。
exec sp_addlinkedserver 'srv_lnk','','SQLOLEDB','192.168.0.38'
--改成上面的這一句呢?
exec sp_addlinkedsrvlogin 'srv_lnk','false',null,'build','123'
select top 1 * from srv_lnk.book.dbo.tbl_book當你用sp_addlinkedserver時,由於指定了第三個參數為SQLOLEDB,因此第四個參數就是你要訪問的ServerName。如果在這台機器上有多個Instance,則為ServerName\InstanceName.