我现在注册一个SQLSERver组,我想把服务器上数据库的一个表的部分值,导入到我本地机,该怎么导,
谢谢

解决方案 »

  1.   


    use 目标数据库
    select * into 你要的表名 from [服务器IP].数据库名.dbo.表名 where 你给的条件
      

  2.   

    使用链接服务器:
    --创建链接服务器 
    exec sp_addlinkedserver   'ITSV ', ' ', 'SQLOLEDB ', '远程服务器名或ip地址 ' 
    exec sp_addlinkedsrvlogin 'ITSV ', 'false ',null, '用户名 ', '密码 ' --查询示例 
    select * from ITSV.数据库名.dbo.表名 --导入示例 
    select * into 表 from ITSV.数据库名.dbo.表名 --以后不再使用时删除链接服务器 
    exec sp_dropserver  'ITSV ', 'droplogins ' --连接远程/局域网数据(openrowset/openquery/opendatasource) 
    --1、openrowset --查询示例 
    select * from openrowset( 'SQLOLEDB ', 'sql服务器名 '; '用户名 '; '密码 ',数据库名.dbo.表名) --生成本地表 
    select * into 表 from openrowset( 'SQLOLEDB ', 'sql服务器名 '; '用户名 '; '密码 ',数据库名.dbo.表名) --把本地表导入远程表 
    insert openrowset( 'SQLOLEDB ', 'sql服务器名 '; '用户名 '; '密码 ',数据库名.dbo.表名) 
    select *from 本地表 --更新本地表 
    update b 
    set b.列A=a.列A 
    from openrowset( 'SQLOLEDB ', 'sql服务器名 '; '用户名 '; '密码 ',数据库名.dbo.表名)as a inner join 本地表 b 
    on a.column1=b.column1 --openquery用法需要创建一个连接 --首先创建一个连接创建链接服务器 
    exec sp_addlinkedserver   'ITSV ', ' ', 'SQLOLEDB ', '远程服务器名或ip地址 ' 
    --查询 
    select * 
    FROM openquery(ITSV,  'SELECT *  FROM 数据库.dbo.表名 ') 
    --把本地表导入远程表 
    insert openquery(ITSV,  'SELECT *  FROM 数据库.dbo.表名 ') 
    select * from 本地表 
    --更新本地表 
    update b 
    set b.列B=a.列B 
    FROM openquery(ITSV,  'SELECT * FROM 数据库.dbo.表名 ') as a  
    inner join 本地表 b on a.列A=b.列A --3、opendatasource/openrowset 
    SELECT   * 
    FROM   opendatasource( 'SQLOLEDB ',  'Data Source=ip/ServerName;User ID=登陆名;Password=密码 ' ).test.dbo.roy_ta 
    ---------------------------------------------------------------------------------------四、链接SQL Server服务器:   1、使用 ODBC 的 Microsoft OLE DB 提供程序      EXEC sp_addlinkedserver '别名','','MSDASQL',NULL,NULL,'DRIVER={SQL Server};SERVER=远程名;UID=用户;PWD=密码;'
          go
          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='密码'   3、操作数据
          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'