最近有个活是mysql数据转移到sql server 2012,直接手动转工作量太大,发现网上有工具教程,则记录一下。

一.安装MySQL ODBC驱动
为MySQL安装Connector/ODBC驱动。在此需要注意的一点是Connector/ODBC驱动与MySQL Server的版本对应问题。

下载地址:https://dev.mysql.com/downloads/connector/odbc/

我下载的是:mysql-connector-odbc-8.0.16-winx64.msi

安装的时候能会提示需要 Microsoft Visual C++ 2015 Redistributable 等 ,直接微软官网下载就行。

二.创建系统DSN
DSN为ODBC定义了一个确定的数据库和必须用到的ODBC驱动程序。每个ODBC驱动程序定义为该驱动程序支持的一个数据库创建DSN需要的信息。
创建系统DSN步骤如下:
开始->设置->控制面板->管理工具->数据源(ODBC),按该流程打开ODBC数据源管理器。
切换至系统DSN选项卡,点击添加按钮。弹出创建新数据源对话框,选择MySQL ODBC 8.0 ANSI Driver驱动程序(根据版本不同,可能名称有出入),点击完成按钮。


在弹出的链接MySQL对话框中设置MySQL数据库帐号信息。

关键是Login选项卡下的几个参数。
l Data Source Name,这个根据命名规则任意命名就可以了,最终会显示于ODBC数据源管理器中系统DSN选项卡下的列表中。
l Description,对该数据源的描述,可不填写。
l Server,MySQL Server的主机名,这里填写计算机主机名或者localhost均可。
l User和Password是MySQL Server对应的用户名和密码。
l DataBase,选定该数据源所指向的数据库。在这一里必须要求前面几个参数都正确,否则会提示错误,无法选择MySQL Server中的数据库。
还有两个需要注意的参数是Connect Options选项卡下的Port和Character Set。Port用于设置MySQL Server的通信端口,默认是3306,在安装时候如果没有改动默认端口,这里可以不设置。Character Set用于设置数据库语言编码,这里选择gbk。
点击OK按钮,完成系统DSN的创建,返回到ODBC数据源管理器对话框,在系统DSN选项卡下可查看到刚建立的数据源。点击确定按钮退出。

三.创建MSSQL到MySQL的链接服务
打开SQL Server Management Studio,运行下述语句,通过前面新建的ODBC数据源建立与MySQL Server链接服务器。

EXEC master.dbo.sp_addlinkedserver
@server = N'MYSQL',
@srvproduct=N'MySQL',
@provider=N'MSDASQL',
@provstr=N'DRIVER={MySQL ODBC 8.0 ANSI Driver}; SERVER=127.0.0.1; _
DATABASE=news; USER=root; PASSWORD=root; OPTION=3'

刷新下链接服务器节点,既可以看到上述用语句创建的链接

四.利用SQL语句转移数据至MSSQL
在Microsoft SQL Server中创建新的数据库,运行如下语句,运行后就可以把MySQL 数据库 “news” 导入到 Microsoft SQL 数据库“news”中。

SELECT * INTO 数据库.dbo.表
FROM OPENQUERY (MySQL ,'select * from 数据库.表' )

例如:将MySQL数据库“news”中的article表导入到SQL Server数据库的“news”的article中

SELECT * INTO [news].dbo.article
FROM openquery(MYSQL, 'SELECT * FROM news.article')

执行结果

参考地址:https://blog.csdn.net/qq_37308779/article/details/80679358

MySQL数据转移至SQL Server详解的更多相关文章

  1. MySQL5.7数据转移至SQL Server详解

    本文链接:https://blog.csdn.net/qq_37308779/article/details/80679358一.安装MySQL ODBC驱动为MySQL安装Connector/ODB ...

  2. 【转】MySQL用户管理及SQL语句详解

    [转]MySQL用户管理及SQL语句详解 1.1 MySQL用户管理 1.1.1 用户的定义 用户名+主机域 mysql> select user,host,password from mysq ...

  3. MySQL数据迁移到SQL Server

    数据迁移的工具有很多,基本SSMA团队已经考虑到其他数据库到SQL Server迁移的需求了,所以已经开发了相关的迁移工具来支持. 此博客主要介绍MySQL到SQL Server数据迁移的工具:SQL ...

  4. MySQL用户管理及SQL语句详解

    1.1 MySQL用户管理 1.1.1 用户的定义 用户名+主机域 mysql> select user,host,password from mysql.user; +--------+--- ...

  5. 【记录】ELK之logstash同步mysql数据到Elasticsearch ,配置文件详解

    本文出处:https://my.oschina.net/xiaowangqiongyou/blog/1812708#comments 截取部分内容以便学习 input { jdbc { # mysql ...

  6. MySQL--将MySQL数据导入到SQL Server

    随着时代的进步,社会的发展,各种技术层出不穷五花八门乱七八糟数不胜数(写作文呢!!!) 不扯废话,简单而言,很多公司都会同时使用多种数据库,因此数据在不同数据库之间导入导出就成为一个让人蛋疼的问题,对 ...

  7. MYSQL之数据库初识、安装详解、sql语句基本操作

    目录 MYSQL之数据库初识及安装详解 1.什么是数据库? 1.什么是数据?(data) 2.什么是数据库?(databases,简称DB) 2.为什要用数据库? 3.什么是数据库管理系统?(Data ...

  8. MySQL之SQL优化详解(二)

    目录 MySQL之SQL优化详解(二) 1. SQL的执行顺序 1.1 手写顺序 1.2 机读顺序 2. 七种join 3. 索引 3.1 索引初探 3.2 索引分类 3.3 建与不建 4. 性能分析 ...

  9. mysql用户授权、数据库权限管理、sql语法详解

    mysql用户授权.数据库权限管理.sql语法详解 —— NiceCui 某个数据库所有的权限 ALL 后面+ PRIVILEGES SQL 某个数据库 特定的权限SQL mysql 授权语法 SQL ...

随机推荐

  1. linux下oracle启动关闭

    1.以oracle身份登录数据库,命令:su – oracle 2.执行以下命令查看数据库监听器的状况: lsnrctl status 3.执行以下命令停止数据库监听器运行: lsnrctl stop ...

  2. MongoDB- 简单操作命令

    MongoDB是基于集合操作的数据库 1.进入与退出 mongo / exit 2.库操作 显示所有库: show dbs; 查看当前所在库: db; 切换&使用某个库: use db_nam ...

  3. DataGuard 单实例到RAC搭建

    背景简介: 本文为针对一次windows平台RAC数据库迁移至Linux平台RAC的笔记,基本步骤为: 1.搭建windows RAC到Linux 单实例数据库的DataGuard 2.做switch ...

  4. Android串口开发

    参考资料: https://www.jianshu.com/p/9249ed03e745 GitHUb地址: https://github.com/AIlll/AndroidSerialPort An ...

  5. 西湖论剑2019-msc之奇怪的TTL

    msc1给了一串很长的TTL字符,参考一些隐写的文章,猜测是在ttl中藏了信息,题目是这样的 我们截获了一些IP数据报,发现报文头中的TTL值特别可疑,怀疑是通信方嵌入了数据到TTL,我们将这些TTL ...

  6. cent os 7 与cent os 6 修改主机名称

    centos6 需要修改两处:一处是/etc/sysconfig/network,另一处是/etc/hosts,只修改任一处会导致系统启动异常.零时修改用hostname your-name cnet ...

  7. Jsp的基本知识

    jsp页面的基本组成部分:指令,表达式,小脚本,声明,注释,静态内容. 指令元素有三种: 1.page:eg <%@ page 属性名="属性值" 属性名="属性值 ...

  8. 移动开发的捷径:3种方式轻松创建webapp

    移动开发行业发展迅速,为迎合用户的需求,大多数传统互联网公司在主导web网站的同时还需兼顾移动开发方向.在已有PC端网站的基础上,考虑到人力.成本和技术.开发周期等因素,许多公司会选择开发快速.维护便 ...

  9. js创建对象,放进js集合

    var list=[]; for (var i=0;i<nodes.length;i++){ if(nodes[i].type=='user'){ person=new Object(); pe ...

  10. Python--day09(内存管理、垃圾回收机制)

    昨天内容回顾 1.  操作文件的三个步骤: 1.  打开文件:硬盘的空间被操作系统持有,文件对象被用用程序持续 2.  操作文件:读写操作 3.  释放文件:释放操作系统对硬盘空间的持有 2.  基础 ...