问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

SQLServer表中数据的复制问题

发布网友 发布时间:2022-04-22 22:44

我来回答

5个回答

懂视网 时间:2022-04-09 09:23

 

 

  • 别人给的建议
  • ETL来处理:

      针对这个解决方案,搜索了后才知道微软的SSIS中是支持ETL的(实战1、实战2篇,微软文档篇)。具体需要测试才知道结果。

     内存处理:

      就是把未能处理的数据放到内存中,使用Redis或者memcached来存储,之后把这样的数据源排队性的存储到sqlsever 2008 R2数据库中,该方案可行性还需要测试,到底需要多大的设备,一个上边同样配置的虚拟机能存储多少条记录会内存满负载,这是该方案是否成立的根本问题,问题是我们需要的是数据量在几百亿量级的数据,这样的情况需要测试才会有结论。

      另外,看到SqlServer2014(SQL 2014新功能介绍系列1 – 内存中 OLTP (In-Memory OLTP))也做了比较大的调整,基本上支持内存存储,可以异步快速存储到内存中,该方案以目前设备来说,恐怕行不通。

      其他,后来搜索过程中学习到了怎么实现一个复制的,复制的场景的应用模式(实战篇)。

    用Oracle来替换SqlServer:

      该方案我也早想去这么去做,回去就给公司建议,不过公司一定会PASS的。。。

     

     

     

     

    参考资料:

    DBA博客:http://www.cnblogs.com/CareySon/archive/2012/05/08/2489748.html

    DBA问题查找经验总结:http://blog.csdn.net/yynetsdk/article/details/6749529

    SqlBulkCopy 实现原汁原味复制的注意事项:http://blog.csdn.net/yenange/article/details/35837247

    SqlServer批量复制(bcp)[C#SqlBulkCopy]性能极低问题

    标签:

    热心网友 时间:2022-04-09 06:31

    ?
    我的一段代码看对你是否有用
    procere Tf_fsxx.drexcel(filename,drcs,drbz,dxnr:string;ybt:boolean);
    var
    strcs:Tstringlist;
    i,j,k:integer;
    ks:array of integer;
    zdm,nr:array of string;
    str1,str2,tem,sqlstr,keyfield:string;
    adoquery:Tadoquery;
    mid:integer;
    ExcelApp: Variant;
    p:^Integer;
    begin
    with Tadoquery.create(nil) do begin
    connectionstring:=linkstr;
    sql.clear;
    sql.add('delete from xt_temdr');
    execsql;
    free;
    end;
    strcs:=Tstringlist.create;
    strcs.text:=drcs;
    setlength(zdm,strcs.count);
    setlength(ks,strcs.count);
    setlength(nr,strcs.count);
    for i:=0 to strcs.count-1 do begin
    tem:=strcs.strings[i];
    j:=pos(#9,tem);
    str1:=copy(tem,1,j-1);
    str2:=copy(tem,j+1,length(tem)-j);
    ks[i]:=strtoint(str1);
    zdm[i]:=str2;
    end;
    for i:=0 to high(zdm) do begin
    for j:=0 to 4 do begin
    if zdm[i]=yqxxarray[j,0] then begin
    zdm[i]:=yqxxarray[j,1];
    break;
    end;
    end;
    end;
    if ybt then k:=1
    else k:=0;

    ExcelApp:=CreateOleObject( 'Excel.Application' );
    ExcelApp.WorkBooks.Open(FileName);
    ExcelApp.WorkSheets[1].Activate;
    createplan('正在导入数据……',ExcelApp.WorkSheets[1].UsedRange.Rows.Count-k);
    for i:=k+1 to ExcelApp.WorkSheets[1].UsedRange.Rows.Count do begin
    for j:=0 to high(ks) do begin
    nr[j]:=ExcelApp.cells[i,ks[j]];
    end;
    with Tadoquery.create(nil) do begin
    connectionstring:=linkstr;
    sql.clear;
    sqlstr:='insert into xt_temdr(';
    for j:=0 to high(ks) do begin
    sqlstr:=sqlstr+zdm[j]+',';
    end;
    sqlstr:=copy(sqlstr,1,length(sqlstr)-1);
    sqlstr:=sqlstr+')values(';
    for j:=0 to high(ks) do begin
    sqlstr:=sqlstr+''''+nr[j]+''',';
    end;
    sqlstr:=copy(sqlstr,1,length(sqlstr)-1);
    sqlstr:=sqlstr+')';
    sql.add(sqlstr);
    execsql;
    free;
    end;
    incplan;
    end;
    excelapp.workbooks.close;
    excelapp.quit;
    closeplan;
    keyfield:='gdzh';
    for i:=0 to 4 do begin
    if yqxxarray[i,0]=drbz then begin
    keyfield:=yqxxarray[i,1];
    end;
    end;

    with Tadoquery.create(nil) do begin
    connectionstring:=linkstr;
    sql.clear;
    sql.add('select * from xt_temdr,khzl where xt_temdr.'+keyfield+'=khzl.'+keyfield);
    open;
    createplan('正在写入发送库',recordcount);
    while not eof do begin
    tem:=dxnr;
    str1:='';
    i:=pos('{*',tem);
    j:=pos('*}',tem);
    while (i>0)and(j>0) do begin
    str1:=str1+copy(tem,1,i-1);
    str2:=trim(copy(tem,i+2,j-i-2));
    tem:=copy(tem,j+2,length(tem)-j);
    k:=0;
    for j:=0 to 4 do begin
    if yqxxarray[j,0]=str2 then begin
    str2:=yqxxarray[j,1];
    k:=1;
    break;
    end;
    end;
    if (k=0)and(trim(str2)<>'bxhj') then str2:=str2+'_1';
    str1:=str1+fieldbyname(str2).asstring;
    i:=pos('{*',tem);
    j:=pos('*}',tem);
    end;
    str1:=str1+tem; //内容
    adoquery:=Tadoquery.create(nil);
    adoquery.connectionstring:=linkstr;
    mid:=incid('xt_fs','id');
    adoquery.sql.clear;
    adoquery.sql.add('insert into xt_fs(id,fs_hm,fs_xm,fs_nr,fs_zt,fs_yxj,fs_yh,fs_drsj,fs_lx)values(');
    adoquery.sql.add(inttostr(mid)+','''+fieldbyname('sjhm').asstring+''',');
    adoquery.sql.add(''''+fieldbyname('xm_1').asstring+''',');
    adoquery.sql.add(''''+str1+''',');
    adoquery.sql.add('''未发送'',');
    adoquery.sql.add(current_loginqx+',');
    adoquery.sql.add(''''+current_loginname+''',');
    adoquery.sql.add(''''+datetostr(date)+' '+timetostr(time)+''',');
    adoquery.sql.add(inttostr(fslx)+')');
    adoquery.execsql;
    with lv.Items.add do begin
    caption:=fieldbyname('xm_1').asstring;
    subitems.add(fieldbyname('sjhm').asstring);
    subitems.add('未发送');
    subitems.add(str1);
    subitems.add(datetostr(date)+' '+timetostr(time));
    subitems.add('');
    subitems.add('');
    subitems.add(current_loginqx);
    subitems.add(current_loginname);
    new(p);
    p^:=mid;
    data:=p;
    selected:=true;
    makevisible(true);
    end;
    adoquery.free;
    update;
    incplan;
    next;
    end;
    closeplan;
    free;
    end;
    strcs.free;
    end;

    热心网友 时间:2022-04-09 07:49

    打开数据库,右击“表”,选择“导出数据”,选好源数据库和目的数据库后,有两项可供选择,“从源数据库复制表和视图”,“用一条查询指定要传输的数据”,用这两项都可以,用第一项的时候,选择好要复制的表后,点“转换”按钮,选择自己想要的转换方式。

    热心网友 时间:2022-04-09 09:40

    使用insert into db2.dbo.tab2select * from db1.dbo.tab1

    参考资料:httP;//www.tiantiansoft.com

    热心网友 时间:2022-04-09 11:48

    导入导出时选择复制数据库对象
    声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
    苹果电脑电池充不进电苹果电脑充不进去电是怎么回事 苹果电脑不充电没反应苹果电脑充电指示灯不亮充不了电怎么办 狗狗更加忠诚护家、善解人意,养一只宠物陪伴自己,泰迪能长多大... 描写泰迪狗的外形和特点的句子 国外留学有用吗 花钱出国留学有用吗 !这叫什么号 百万医疗赔付后是否可以续保 前一年理赔过医疗险还能续保吗? 医疗住院险理赔后还能购买吗? 怎么拷贝SQLserver数据库Data里面的数据 怎么复制sqlserver数据库里所有的表到另一个数据库中 在sqlserver数据库中怎么复制相同的表结构的方法 sqlserver数据库复制 怎么快速复制sql server2008 数据库 sqlserver怎么复制数据库文件 SQLSERVER复制技术类型有哪些 sqlserver怎么复制数据库 吃什么食物能补充蛋白质? 吃什么食物能有效补充蛋白质? 身体缺蛋白质吃什么补?方便快速一些的? 老年人蛋白低吃什么补得快? 缺乏蛋白质吃什么补得快? 吃什么能补充人体的蛋白质? 吃什么东西可以快速增加蛋白质 蛋白质低吃什么补充的快? 在生活中,经常吃什么食物可以增加蛋白质? 身体缺少蛋白质,吃什么食物可以帮助补充蛋白质? 除了喝牛奶,吃什么可以快速增加身体内蛋白质? 人吃什么蛋白质补充的快? sqlserver复制A表数据到B表 ...表数据复制到另一个数据库表中 举个例 sqlserver数据库 SQLServer:怎么复制一个已有的数据库成为另一个不同名字的数据库?_百 ... sqlserver 2000 把一个数据库中的表复制到另一个数据库中, 如何复制大数据量的sqlserver 如何将sqlserver分离出来的数据库复制到其他地方呀 我要带上教室继续... 梦见黄金戒指、黄金耳环是什么意思? 梦见妈妈换了一个戒指是什么意思? 昨天晚上梦见3个棺材是我爷爷的爸爸妈妈的他们手上还带着黄金戒指,还梦见了很多蛇希望懂的人帮我解答一下 女人梦到黄金戒指2022年? 梦到给妈妈买一个给婆婆买一个金戒指是什么意思? 梦见一个黄金戒指还一些古董 梦见自己手上戴了好大一个黄金戒指?是什么意思?求解梦? 梦到别人送了一个黄金戒指给我,是什么意思 华为路由Ax2pro和Ax3pro的区别? 华为ax3与ax3pro的性能有很大区别吗? 华为路由器AX3和荣耀Pro2哪个好? AX3Pro双核为什么比AX3Pro凌霄四核贵? AX3PRO双核和四核哪个发热厉害 荣耀路由3和Ax3Pro哪个好些?