zoukankan      html  css  js  c++  java
  • mssql借助链接服务器进行数据快速迁移

    在工作中,遇到了一个任务,需要将A数据库的数据迁移到B数据库,两个数据库的数据结构是一样的。B数据库已经在相当数量的数据了,故而不能通过复制数据库的方式来实现。

     旧方法

        在对数据迁移的时候,一开始使用的是以下方法:

    (1)使用SSMS的”生成和发布脚本”功能,将A数据库的数据导出成sql脚本。

     

    脚本类似于:

    INSERT [dbo].[region] ([id], [region_id], [region_name], [region_code]) VALUES (10649, 0, N'其他', N'0000000')
    
    INSERT [dbo].[region] ([id], [region_id], [region_name], [region_code]) VALUES (1, 2, N'成都', N'1398098')
    
    INSERT [dbo].[region] ([id], [region_id], [region_name], [region_code]) VALUES (2, 2, N'成都', N'1360804')
    
    INSERT [dbo].[region] ([id], [region_id], [region_name], [region_code]) VALUES (3, 2, N'成都', N'1398198')
    
    INSERT [dbo].[region] ([id], [region_id], [region_name], [region_code]) VALUES (4, 2, N'成都', N'1398195')
    
    INSERT [dbo].[region] ([id], [region_id], [region_name], [region_code]) VALUES (5, 2, N'成都', N'1355114')
    
    INSERT [dbo].[region] ([id], [region_id], [region_name], [region_code]) VALUES (6, 2, N'成都', N'1390807')
    
    INSERT [dbo].[region] ([id], [region_id], [region_name], [region_code]) VALUES (7, 2, N'成都', N'1370804')
    
    INSERT [dbo].[region] ([id], [region_id], [region_name], [region_code]) VALUES (8, 2, N'成都', N'1398071')
    
    INSERT [dbo].[region] ([id], [region_id], [region_name], [region_code]) VALUES (9, 2, N'成都', N'1365808')

     (2)将生成sql脚本在B数据库上执行。

    问题与困难

    采用这种方式应对几千条数据还是没有问题的,但是当数据达到10万的时候,速度真是慢得令人发指。

    新方法

    通过探索,自创了一种新方法。

    (1)使用链接服务器,在B数据库所在数据库服务器上建立一个链接服务器,指向A数据库。这样一来,在B数据库中就能直接操作A数据库了。

    (2)使用insert into() select form 语句,直接将A数据库中查到的数据插入到B数据库中。

    将上面的脚本改造成类似于:

     1 INSERT  INTO [dbo].[region]
     2         ( [id] ,
     3           [region_id] ,
     4           [region_name] ,
     5           [region_code]
     6         )
     7         SELECT  [id] ,
     8                 [Bundling] ,
     9                 [region_id] ,
    10                 [region_name] ,
    11                 [region_code]
    12         FROM    [Xianjie].[A].[dbo].[region]

    迁移的速度得到了百倍以上的提升。哈哈

  • 相关阅读:
    Python Day13:开放封闭原则、函数装饰器、全局局部变量
    Python Day12
    Python Day11
    Python Day10
    drf框架
    drf框架
    drf框架
    drf框架
    vue框架
    vue框架
  • 原文地址:https://www.cnblogs.com/dehai/p/4889775.html
Copyright © 2011-2022 走看看