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' ]

解决方案 »

  1.   

    --创建连接服务器后select * from 连接服务器名.数据库名.dbo.FFF_REC()
      

  2.   

    链接SQL Server服务器:1、使用 ODBC 的 Microsoft OLE DB 提供程序EXEC sp_addlinkedserver '别名','','MSDASQL',NULL,NULL,'DRIVER={SQL Server};SERVER=远程名;UID=用户;PWD=密码;'
    如果加上参数@catalog,可以指定数据库
    exec sp_addlinkedsrvlogin  @rmtsrvname='别名',@useself='false',@locallogin='sa',@rmtuser='sa',@rmtpassword='密码'
    2、使用SQL Server 的 Microsoft OLE DB 提供程序exec sp_addlinkedserver @server='别名',@provider='sqloledb',@srvproduct='',@datasrc='远程服务器名'
    exec sp_addlinkedsrvlogin  @rmtsrvname='wzb',@useself='false',@locallogin='sa',@rmtuser='sa',@rmtpassword='密码'然后你就可以如下:
    select * from 别名.库名.dbo.表名
    insert 库名.dbo.表名 select * from 别名.库名.dbo.表名
    select * into 库名.dbo.新表名 from 别名.库名.dbo.表名
    go例1、此示例在 SQL Server 的实例上创建一台名为 S1_instance1 的链接服务器,
    该服务器使用 SQL Server 的 Microsoft OLE DB 提供程序。EXEC    sp_addlinkedserver    @server='S1_instance1', @srvproduct='',
                                    @provider='SQLOLEDB', @datasrc='S1\instance1'例2、--建立链接服务器
    EXEC sp_addlinkedserver 'xiaoming','','MSDASQL',NULL,NULL,'DRIVER={SQL Server};SERVER=192.168.0.1;UID=sa;PWD=123;'
    --建立链接服务器登录映射
    exec sp_addlinkedsrvlogin  @rmtsrvname='xiaoming',@useself='false',@locallogin='sa',@rmtuser='sa',@rmtpassword='123'
    go
    --查询数据
    select * from xiaoming.schooladmin.dbo.agent  --删除链接服务器登录映射和链接服务器:
    exec sp_droplinkedsrvlogin 'xiaoming' ,'sa'
    exec sp_dropserver  'xiaoming' 
    注意事项:SET IDENTITY_INSERT [ database.[ owner.] ] { table } { ON | OFF }
    所以不能通过连接服务器设置此属性
    into 也存在这样的问题
    select  * into   xiaoming.northwind.dbo.tt from xiaoming.northwind.dbo.tt
      

  3.   

    1.
    --創建鏈結伺服器
    exec sp_addlinkedserver  'server_lnk','','SQLOLEDB','遠端伺服器名或ip位址'
    exec sp_addlinkedsrvlogin ' server _lnk','false',null,'用戶名','密碼'
    exec sp_serveroption ' server _lnk','rpc out','true' --這個允許調用鏈結伺服器上的存儲過程
    go2.執行另外一個服務器上的存儲過程(函數也一樣)
    exec server_lnk.數據庫名.dbo.存儲過程名