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

 旧方法

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

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

脚本类似于:

INSERT [dbo].[region] ([id], [region_id], [region_name], [region_code]) VALUES (10649, 0, N'其他', N'')

INSERT [dbo].[region] ([id], [region_id], [region_name], [region_code]) VALUES (1, 2, N'成都', N'')

INSERT [dbo].[region] ([id], [region_id], [region_name], [region_code]) VALUES (2, 2, N'成都', N'')

INSERT [dbo].[region] ([id], [region_id], [region_name], [region_code]) VALUES (3, 2, N'成都', N'')

INSERT [dbo].[region] ([id], [region_id], [region_name], [region_code]) VALUES (4, 2, N'成都', N'')

INSERT [dbo].[region] ([id], [region_id], [region_name], [region_code]) VALUES (5, 2, N'成都', N'')

INSERT [dbo].[region] ([id], [region_id], [region_name], [region_code]) VALUES (6, 2, N'成都', N'')

INSERT [dbo].[region] ([id], [region_id], [region_name], [region_code]) VALUES (7, 2, N'成都', N'')

INSERT [dbo].[region] ([id], [region_id], [region_name], [region_code]) VALUES (8, 2, N'成都', N'')

INSERT [dbo].[region] ([id], [region_id], [region_name], [region_code]) VALUES (9, 2, N'成都', N'')

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

问题与困难

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

新方法

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

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

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

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

 INSERT  INTO [dbo].[region]
( [id] ,
[region_id] ,
[region_name] ,
[region_code]
)
SELECT [id] ,
[Bundling] ,
[region_id] ,
[region_name] ,
[region_code]
FROM [Xianjie].[A].[dbo].[region]

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

mssql借助链接服务器进行数据快速迁移的更多相关文章

  1. 关于 MongoDB 与 SQL Server 通过本身自带工具实现数据快速迁移 及 注意事项 的探究

    背景介绍 随着业务的发展.需求的变化,促使我们追求使用不同类型的数据库,充分发挥其各自特性.如果决定采用新类型的数据库,就需要将既有的数据迁移到新的数据库中.在这类需求中,将SQL Server中的数 ...

  2. mysql通过拷贝文件实现数据快速迁移实例

    最近在做监控DB的迁移,由于数据量非常大,采用直接拷贝从机数据目录的方式,操作过程有几个注意事项,记录下来,以备后用: 操作步骤: 1.停掉从机的SQL线程,并将 innodb_max_dirty_p ...

  3. SQLServer LinkServer 链接服务器

    Linked Server简介 我们日常使用SQL Server数据库时,经常遇到需要在实例Instance01中跨实例访问Instance02中的数据.例如在做数据迁移时,如下语句: insert ...

  4. 如何使用SQL Server链接服务器访问DB2 Server

    首先,需要安装Microsoft OLE DB Provider for DB2 下载地址:http://download.microsoft.com/download/B/B/2/BB22098A- ...

  5. SQL Server从远程服务器导入数据

    语法 insert inot user select * from opendatasource('sqloledb','server=192.168.0.1;uid=sa;pwd=dbpasswor ...

  6. SQL Server创建链接服务器

    1.通过sql语句创建链接服务器,数据是sql server的 EXEC sp_addlinkedserver @server='test', --链接服务器别名,自定义 @srvproduct='' ...

  7. sql server 大数据跨服务器迁移表数据——使用链接服务器

    1.创建链接服务器(填写链接服务器.远程登录.使用密码) 2.188.188.1.177是远程的 select count(*) from [188.188.1.177].BigDataAnalysi ...

  8. ECS服务器快速迁移

    ECS服务器快速迁移 前提 一.停机 二.创建镜像 三.复制镜像 前提 服务器都在同一个区域,举例:华南1(深圳) 同一个账号 具体迁移步骤如下: 一.停机 先从阿里云ECS控制台,将要迁移的两台EC ...

  9. sql server 与oracle数据互导的一种思路--sql server链接服务器

    思路:通过在sql server数据库中添加链接服务器,可以远程查询oracle数据库的表环境准备,安装sql server数据库,并安装好oracle驱动,在配置好tnsname文件中配置好orac ...

随机推荐

  1. ark是什么

    https://github.com/QuadHex/ARK/releases 0.8.0版本网络使用evpp 调用 https://www.jianshu.com/p/9f09928829ba

  2. nginx域名转发 负载均衡 反向代理

    公司有三台机器在机房,因为IP不够用,肯定要分出来,所以要建立单IP 多域名的反向代理, 就是当请求www.abc.com 跳转到本机, 请求www.bbc.com 跳转到192.168.0.35 机 ...

  3. 学习selenium的过程

  4. [C#]WinForm动态删除控件 Controls.Remove()

    今天遇到一个奇怪的问题,在WinForm内动态添加Button后再动态的移除,发生稀奇古怪的现象,Button控件只被规律的移除,没有完全移除 foreach (Control c in this.C ...

  5. JS高级-Date- Error-***Function:

    1. Date: API: 1. 8个单位: FullYear   Month   Date   Day Hours     Minutes   Seconds   Milliseconds 2. 每 ...

  6. 关于Code Review

    为了保证代码质量,我们团队内部一直在推行Code Review.现在Code Review帮我们发现了很多代码的问题,提升了代码的可读性和质量,同时我们在Code Review上也花费了很多时间,有些 ...

  7. hadoop 修改datanode balance带宽使用限制

    前段时间,一个客户现场的Hadoop看起来很不正常,有的机器的存储占用达到95%,有的机器只有40%左右,刚好前任的负责人走了,这边还没有明确接班人的时候. 我负责的大数据计算部分,又要依赖Hadoo ...

  8. php 操作redis 以及几个常用命令

    redis-cli -h host -p port -a password 首次进入redis 进行绑定ip和端口号   del key 删除指定key   exists key 检查指定key是否存 ...

  9. Java对象的克隆

    今天要介绍一个概念,对象的克隆.本篇有一定难度,请先做好心理准备.看不懂的话可以多看两遍,还是不懂的话,可以在下方留言,我会看情况进行修改和补充. 克隆,自然就是将对象重新复制一份,那为什么要用克隆呢 ...

  10. (19)3 moons and a planet that could have alien life

    https://www.ted.com/talks/james_green_3_moons_and_a_planet_that_could_have_alien_life/transcript00:1 ...