我需要把一个表从一台服务器复制到另一台服务器上,试着用导出导入向导,可是遇到了一点麻烦,不知道怎么解决如果导出的时候选择‘第一行含有列名称’,这样等下导入的时候,表的结构(比如数据类型,长度,默认值等等什么的信息都不对了),所以我想不能这么导然后我只导出数据,就是不选择‘第一行含有列名称’...
接着导出表结构,即 右键->所有任务->生成SQL脚本,然后用他生成的脚本来创建这个表,可是结构还是不太对,比如主键信息,默认值什么的都没有,尽管我勾了‘编写主键,外键,默认值’什么的之类的基本上都勾了,等我运行脚本的时候,发现跟原来的表还是不一样,这样导致我导入数据的时候出错,说是数据类型无效什么的
请问怎样可以正确的导出导入一个完整的一模一样的表?谢谢

解决方案 »

  1.   

    使用
    Insert Into TableA
         (Column1,Column2,Column3,..,ColumnN)
    Select 
         Column1,Column2,Column3,..,ColumnN
    From TableB
      

  2.   


    先创建表结构后,用脚步导数据Insert Into TableA 
        (Col1,col2..) 
    Select 
        Col1,col2..
    From TableB 
      

  3.   


    我也是这么想的,但我创建表的结构是用原表生成的SQL脚本来创建,但是创建完后发现有些比如默认值方面的信息丢失了,而且导入数据的时候也出错,说是数据类型无效什么的难道表结构要手工一个一个确认过是否和原表结构一样,不一样的就要手工修改那如果很多列的话我是奇怪为什么生成的SQL脚本创建表结构会不对
      

  4.   

    直接使用
    表(右键)->script table as ->create to -> new windows生成脚本
      

  5.   

    如果两个服务器在同一局域网可使用如下语句
    -----------------------添加远程库中表的信息
    insert into t select openrowset('SQLOLEDB','charry';'sa';'sa',ExamDataBase.dbo.Table_person) b