--创建链接服务器
exec sp_addlinkedserver  'srv_lnk','','SQLOLEDB','远程服务器名或ip地址'
exec sp_addlinkedsrvlogin 'srv_lnk','false',null,'用户名','密码'
--exec sp_serveroption 'srv_lnk','rpc out','true' 这个允许调用链接服务器上的存储过程
go--查询示例
select * from srv_lnk.数据库名.dbo.表名--导入示例
select * into 表 from srv_lnk.数据库名.dbo.表名go
--以后不再使用时删除链接服务器
exec sp_dropserver 'srv_lnk','droplogins'--如果只是临时访问,可以直接用openrowset
--查询示例
select * from openrowset('SQLOLEDB'
,'sql服务器名';'用户名';'密码'
,数据库名.dbo.表名)--导入示例
select * into 表 from openrowset('SQLOLEDB'
,'sql服务器名';'用户名';'密码'
,数据库名.dbo.表名)

解决方案 »

  1.   

    delete from lnk_server.databases.dbo.table_a"若lnk_server没有连接上,SQL会有报错如下:服务器: 消息 7202,级别 11,状态 2,行 1
    在 sysservers 中未能找到服务器 'servers'。请执行 sp_addlinkedserver 以将服务器添加到 sysservers。-----------------
    你要添加链接服务器才行":
    sp_addlinkedserver
    创建一个链接的服务器,使其允许对分布式的、针对 OLE DB 数据源的异类查询进行访问。在使用 sp_addlinkedserver 创建链接的服务器之后,此服务器就可以执行分布式查询。如果链接服务器定义为 Microsoft® SQL Server™,则可执行远程存储过程。语法
    sp_addlinkedserver [ @server = ] 'server'
        [ , [ @srvproduct = ] 'product_name' ]
        [ , [ @provider = ] 'provider_name' ]
        [ , [ @datasrc = ] 'data_source' ]
        [ , [ @location = ] 'location' ]
        [ , [ @provstr = ] 'provider_string' ]
        [ , [ @catalog = ] 'catalog' ]
    -----------------------------------------
    也可以在企业管理器:“安全性”--》“链接服务器”--》右击,选择“新建链接服务器”.....
      

  2.   

    你语句中
    delete from lnk_server.databases.dbo.table_a的“lnk_server”为链接服务器,你必须添加才能引用
      

  3.   

    VB应用程序中想用自定义的报错信息而不出现该SQL信息,如何设置??
      

  4.   

    在VB中运行远程连接查询如: conection.execute "delete from lnk_server.databases.dbo.table_a"若lnk_server没有连接上,SQL会有报错如下:服务器: 消息 7202,级别 11,状态 2,行 1
    在 sysservers 中未能找到服务器 'servers'。请执行 sp_addlinkedserver 以将服务器添加到 sysservers。VB应用程序中想用自定义的报错信息而不出现该SQL信息,如何设置??
      

  5.   

    在execute语句前面加上:
    on error resume next
    在execute语句后面判断err.number,如果不是0,一定是有错误了.
    或者用on error goto ErrHandle.
    在ErrHandle程序段里写你自己的报错提示.