MySQL数据库数据迁移到SQLserver

最近因工作需要,需要将mysql数据库迁移到sqlserver,仅仅是数据迁移,因此相对比较简单。对于mysql迁移到sqlserver,我们需要使用到mysql odbc驱动,然后透过sqlserver链接服务器的方式来访问mysql。具体见下文描述。

一、 迁移环境

源:RHEL 6.5 + MySQL 5.6.26 目标: Windows 7 64 + SQLserver 2014

二、准备迁移环境

1、下载及安装ODBC驱动

http://dev.mysql.com/downloads/connector/odbc/ 本次安装下载的文件为:mysql-connector-odbc-5.2.7-winx64.msi 安装过程略

2、配置ODBC驱动

对于mysql的访问,我们需要配置ODBC驱动,来使得SQLserver能够识别。 打开控制面板,管理工具,数据源(ODBC),选择System DSN选项卡,单击添加,选择MySQL ODBC 5.2 Unicode Driver,如下截图:

以下配置连接参数,指定数据源名称,IP地址及端口号,如下图:

添加完毕后单击确定(OK)。

3、添加链接服务器

使用下面的代码添加链接服务器,注意替换相应的字符。
USE master
GO
EXEC sp_addlinkedserver @server = 'MySQL', @srvproduct='MySQL', @provider = 'MSDASQL', @datasrc = 'MySQL_SRC'
GO
EXEC sp_addlinkedsrvlogin @rmtsrvname='MySQL',@useself='false',@locallogin='sa',@rmtuser='root',@rmtpassword='mysql'
GO

4、测试链接服务器

SELECT * FROM OPENQUERY (MySQL ,'select * from testdb.tt)
id  dt
1   2016-03-18 10:48:06.0000000
2   NULL
3   NULL

二、 实施数据迁移

USE master
GO 
CREATE DATABASE material  --创建目标数据库
GO
可以使用以下语句查询需要迁移的schema下的表
SELECT * FROM OPENQUERY (MySQL ,'select * from information_schema.TABLES where table_schema=''material''' )

将所有表内容插入到SQLserver,如下方式
SELECT * INTO material.dbo.ic_goods FROM OPENQUERY (MySQL ,'select * from material.ic_goods');

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏编程浪子

lnmp+coreseek实现站内全文检索

<font color='red'>在安装csft的过程中出现了三种错误情况,错误情况如下错误记录,可以参考修改即可</font>

610
来自专栏张善友的专栏

SQL Injection的深入探讨

SQL injection可以说是一种漏洞,也可以说成是一种攻击方法,程序中的变量处理不当,对用户提交的数据过滤不足,都可能产生这个漏洞,而攻击原理就是利用用户...

1867
来自专栏数据和云

SQL优化误用&#39;append&#39;案例一则

编辑手记:SQL是数据库系统的核心,因SQL问题引发的系统蝴蝶效应屡见不鲜,今天继续学习SQL优化的技巧。。 这是某客户关键系统的一个TOP SQL: ? 根据...

33810
来自专栏大眼瞪小眼

面试-MySQL总结

2NF:每一个非主属性完全依赖于候选码(属性组的值能唯一的标识一个元组,但是其子集不可以)。

1043
来自专栏JetpropelledSnake

SQL学习笔记之MySQL查询的三层解析

1203
来自专栏个人随笔

MySQL 关于存储过程那点事

存储例程是存储在数据库服务器中的一组sql语句,通过在查询中调用一个指定的名称来执行这些sql语句命令. 简介 SQL语句需要先编译然后执行,而存储过程(Sto...

4438
来自专栏测试开发架构之路

SQL之经典SQL语句大全

经典SQL语句大全 一、基础 1、说明:创建数据库 CREATE DATABASE database-name  2、说明:删除数据库 drop databas...

3704
来自专栏后端技术探索

mysql新特性

oracle官方发布的基准测试声明:In benchmark tests using SysBench Read-only Point-Selects, at ...

1043
来自专栏清风

MySQL数据库 原

其中“/yourpath/crontab_mysql.sql”为需要执行的sql语句。

943
来自专栏Java后端技术栈

收集的MySQL的面试题分享给大家

在缺省模式下,MYSQL是autocommit模式的,所有的数据库更新操作都会即时提交,所以在缺省情况下,mysql是不支持事务的。

853

扫码关注云+社区

领取腾讯云代金券