--创建链接服务器
exec sp_addlinkedserver  'srv_lnk','','SQLOLEDB','远程服务器名或ip地址'
exec sp_addlinkedsrvlogin 'srv_lnk','false',null,'用户名','密码'
go--查询示例
select * from srv_lnk.数据库名.dbo.表名

select * from srv_lnk.数据库名..表名--返回在本地服务器上定义的链接服务列表
exec sp_linkedservers--返回指定链接服务器中的系统目录列表,在本地服务器中等价于数据库列表
--连接不上会显示:SQL Server 不存在或拒绝访问。(判断远程SQL数据库连接状态是否正常)
exec sp_catalogs srv_lnk --以后不再使用时删除链接服务器
exec sp_dropserver 'srv_lnk','droplogins'
go

解决方案 »

  1.   

    --如果只是临时访问,可以直接用openrowset
    --查询示例
    select * from openrowset('SQLOLEDB'
    ,'sql服务器名';'用户名';'密码'
    ,数据库名.dbo.表名)
    --导入示例
    select * into 表 from openrowset('SQLOLEDB'
    ,'sql服务器名';'用户名';'密码'
    ,数据库名.dbo.表名)
    select * from openrowset('SQLOLEDB'
    ,'sql服务器名';'用户名';'密码'
    ,数据库名.dbo.表名)
    openrowset可以用下面两个
    OPENDATASOURCE或是openquery
      

  2.   

    检查一下服务器的设置
    是否开了相应的端口
    能不能远程访问
    SQL服务是否开启等等
      

  3.   

    我想从我的描述中可以看出,我对实现的语句已经很熟悉了,请各位不必再重复,另外,我的问题出在SQLSERVER2005中,谢谢
      

  4.   

    对方的SQL 2005 是否允许远程连接?
      

  5.   

    打开SQL Server Configuration Manager—2005的网络配置—启用TCP/IP
    打开SQL Server 外围应用配置器—服务与连接外围配置—选择database englie—选择本地连接和远程连接—再选择连接的方式(TCP/IP)--
      

  6.   

    对方的SQL 2005 允许远程连接,因为其他SQLSERVER的链接服务器正常,都是一个地址。SQL Server Configuration Manager中也按照说法看过了,还是不行
      

  7.   

    select * from openrowset('SQLOLEDB','192.168.1.6';'sa';'mth2006',enjoy_hq.dbo.tb_gds)使用上述语句报错消息 7302,级别 16,状态 1,第 1 行
    无法创建链接服务器 "(null)" 的 OLE DB 访问接口 "SQLNCLI" 的实例。不知对大家判断有没有帮助
      

  8.   

    补丁打了,这台服务器更改过IP地址,更改前是好用的,但SQL Server Configuration Manager—2005的网络配置—启用TCP/IP已经起用,而且IP地址也改成了现在的IP地址.真不知道是为什么?各位还有什么好办法,这种问题我想大家以后也会碰到的
      

  9.   

    2000有个方法,2005不知能不能凑效,楼主试试sqlserver客户端-->开始菜单-->SQLserver-->客户端网络实用工具-->别名-->添加-->写入别名如"大力"-->"网络库"选tcp/ip-->服务器名称写入远程ip或实例名