二:
先用Alter table 去把B库中的a表增加跟A库中的a表一样具有相同结构和字段,
再复制了

解决方案 »

  1.   

    use A
    insert into B..a from A..a where .....
      

  2.   

    第一个问题:
    在“导入数据”的选项中,选择“在sql server数据库之间复制对象和数据”
    然后选择选中“扩展属性”、“所有相关...”就可以了
    索引列等信息都会复制过去。不过印象中默认值好像复制不过去,自己试一下吧
      

  3.   

    第二个问题:
    讲一个简单易行的方法:
    1.先手动增加A库里的a表里的字段,与B库a表字段一致
    2.编写一个游标,把B库a表中的数据依次update到A库a表里
    这样做要确保两张表的数据是一致的,编写游标最好以表的一个标识字段作为判断update的依据,这样就比较保险了
      

  4.   

    語句select top 100 percent * into newtable from sourcetable
      

  5.   

    --以源数据库为模板升级目标数据库 CREATE PROCEDURE  P_UDB 
    (  @Source_DB                  sysname                     --原数据库
      ,@Des_DB                     sysname                     --目标数据库
      ,@UserName                   sysname                     --用户名
      ,@psw                        sysname                     --密码 
     )
     AS
    set nocount on
    --/*  局部变量声明
    declare  @ObjName              sysname
                     ,@SrvID            int                     --服务器ID
                     ,@DBsId            int                     --数据库集ID
                     ,@transferID      int                     --传输ID
                     ,@SDBId            int                     --源数据库ID
                     ,@DDBID            int                     --目标数据库ID
                     ,@SViewListID     int                     --源数据库视图列表  
                     ,@DViewListID     int                     --目标数据库视图列表  
                     ,@str              Nvarchar(4000)
                     ,@name             sysname
                     ,@hr               int                    --执行语句返回值
                     ,@Error           int                       --错误返回值(999:存储过程或触发器错误;9999:视图错误)
    --*/             --/*创建sqldmo对象  前面我们已经说过SQLDMO是个com,在SQL Server中使用OLE --自动化对象需要用到sp_OACreate等一系列的存储过程,读者如果有不明白的可以自--己查阅相关资料exec @hr=sp_oacreate 'SQLDMO.sqlserver',@SrvID outputif @hr<>0begin  set @Error=1  goto PEndend--*/--/*连接服务器exec @hr=sp_oamethod @SrvID,'connect',null,@@ServerName,@UserName,@pswif @hr<>0begin  set @Error=2  goto PEndend--*/--/*取数据库集exec @hr=sp_oagetproperty @SrvID,'databases',@DBsId output--*/--/*选择源数据库    exec @hr=sp_oamethod @DBsId,'item',@SDBId output,@Source_DBif @hr<>0 begin  set @Error=3  goto PEndend--*/ --/*选择目标数据库    exec @hr=sp_oamethod @DBsId,'item',@DDBId output,@Des_DBif @hr<>0 begin  set @Error=4  goto PEndend--*//*Tansfer属性设置(生成三大对象)exec @hr=sp_oacreate         'SQLDMO.Transfer',@transferID outputexec @hr=sp_oasetproperty   @transferID,'DestServer',@@ServerNameexec @hr=sp_oasetproperty   @transferID,'DestLogin',@UserNameexec @hr=sp_oasetproperty   @transferID,'DestPassword ',@pswexec @hr=sp_oasetproperty   @transferID,'DestDatabase',@des_DBexec @hr=sp_oasetproperty   @transferID,'DropDestObjectsFirst ',1exec @hr=sp_oasetproperty   @transferID,'CopyAllStoredProcedures ',1exec @hr=sp_oasetproperty   @transferID,'CopyAllTriggers',1exec @hr=sp_oasetproperty   @transferID,'CopyAllViews',1--exec @hr=sp_oasetproperty   @transferID,'ScriptType ',1 这里大家可以试试这个属性exec @hr=sp_oamethod  @DDBId,'Transfer ',null,@transferIDexec sp_OADestroy @TransferID  if @hr<>0   begin    set @Error=10    goto PEnd  end*/PEnd:  exec @hr = sp_OAMethod @SrvID, 'DisConnect'    exec sp_OADestroy @SrvID    print (@Error)  Return (@Error) GO