A机器 安装 iis ,sql server 2005 express
B机器 安装 sql server 2005 ,已经打开了远程连接
A机器上的asp程序可以正常连接到 B 机器的sql server,
A机器上 sql server management studio 用链接服务器abc查询 B机器的sql server 2005时,
select * from abc.xx.dbo.tb;
有如下提示:
链接服务器"abc"的 OLE DB 访问接口 "SQLNCLI" 返回了消息 "登录超时已过期"。
链接服务器"abc"的 OLE DB 访问接口 "SQLNCLI" 返回了消息 "建立到服务器的连接时发生错误。连接到 SQL Server 2005 时,默认设置 SQL Server 不允许远程连接这个事实可能会导致失败。“
用openrowset也有类似提示,是什么原因?
远程连接 sql?server
------解决方案--------------------
应该是楼主的链接服务器没有建立好了
请在A机器上删除链接服务器后,在查询分析中执行下面语句:
EXEC sys.sp_addlinkedserver
@server = 'abc', -- sysname
@srvproduct = N'', -- nvarchar(128)
@provider = N'SQLNCLI10', -- nvarchar(128) --或用SQLOLEDB
@datasrc = N'B机器的IP', -- nvarchar(4000)
@location = N'', -- nvarchar(4000)
@provstr = N'', -- nvarchar(4000)
@catalog = NULL -- sysname
GO
EXEC sys.sp_addlinkedsrvlogin
@rmtsrvname = 'abc', -- sysname
@useself = 'false', -- varchar(8)
@locallogin = NULL, -- sysname
@rmtuser = 'sa', -- sysname
@rmtpassword = '123456' -- sysname
EXEC dbo.sp_serveroption
@server = N'abc',
@optname = N'rpc out',
@optvalue = N'true'
GO
EXEC sys.sp_remoteoption
@remoteserver = 'abc', -- sysname
@optname = 'rpc', -- varchar(35)
@optvalue = 'true' -- varchar(10)