You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

如何将Xampp MySQL的200MB数据库转储文件迁移至SQL Server 2014

把200MB MySQL转储迁移到SQL Server 2014的实操步骤

我之前帮同事处理过差不多的需求,整理了两套靠谱的方案,你可以根据自己的情况选:

准备工作(必做)

  • 确认SQL Server 2014实例正常运行,预留至少1GB磁盘空间(200MB转储导入后数据库会膨胀不少)
  • 把你的MySQL转储文件(.sql格式)放到本地易访问的路径,比如C:\temp\mysql_backup.sql
  • 确保你有SQL Server的高权限账户(比如sa),或者至少拥有创建数据库、导入数据的权限

方案一:用SQL Server Migration Assistant (SSMA)(最推荐,省心高效)

这是微软官方的迁移工具,专门解决异构数据库迁移问题,对新手友好:

  1. 下载适配版本的SSMA:要选支持SQL Server 2014的版本(比如SSMA v8.0或v7.3,新版本可能不再兼容2014),直接微软官网搜就能找到
  2. 新建迁移项目
    • 打开SSMA,输入项目名(比如“MySQL转SQL Server”),选好本地保存路径
    • 目标数据库版本选「SQL Server 2014」
  3. 连接数据源(MySQL)
    • 点击顶部的「Connect to MySQL」,填XAMPP MySQL的信息:服务器localhost,端口3306,用户名root,密码是你XAMPP设置的(默认空),然后选中要迁移的数据库
    • 如果你的MySQL已经停了,先把转储恢复到本地MySQL再连(用命令mysql -u root -p your_db_name < C:\temp\mysql_backup.sql
  4. 连接目标SQL Server
    • 点击「Connect to SQL Server」,填你的SQL Server实例名(比如localhost\SQLEXPRESS),认证方式选「SQL Server认证」,输入账户密码,然后选择目标数据库(可以提前新建一个,比如CREATE DATABASE MigratedDB;
  5. 转换数据库架构
    • 在左侧MySQL面板选中要迁移的数据库,右键选「Convert Schema」,等待工具把MySQL的表结构、索引等转换成SQL Server兼容的格式
  6. 同步架构到SQL Server
    • 转换完成后,在右侧SQL Server面板找到对应数据库,右键选「Synchronize with Database」,确认要同步的对象(表、视图等),执行同步
  7. 迁移数据
    • 回到左侧MySQL面板,选中数据库右键选「Migrate Data」,可以调整批量大小(比如设为10000,加快迁移速度),然后启动迁移,等待进度条完成
  8. 验证数据
    • 迁移结束后,对比两边的表行数、关键数据,确保没有丢失或乱码

方案二:手动处理转储+CSV批量导入(适合不想装工具的情况)

如果不想用第三方工具,手动操作也能搞定,就是费点时间:

  1. 恢复转储到本地MySQL
    打开XAMPP的MySQL命令行,执行:
    mysql -u root -p your_database_name < C:\temp\mysql_backup.sql
    
    输入密码后等待恢复完成
  2. 导出MySQL表为CSV
    对每个表执行导出命令(注意要给MySQL写入权限到目标目录):
    SELECT * INTO OUTFILE 'C:\temp\table_name.csv' 
    FIELDS TERMINATED BY ',' ENCLOSED BY '"' 
    LINES TERMINATED BY '\n' 
    FROM table_name;
    
  3. 在SQL Server创建对应表结构
    手动把MySQL的表结构转换成SQL Server语法,比如:
    • MySQL的INT(11) → SQL Server的INT
    • MySQL的VARCHAR(255) → SQL Server的NVARCHAR(255)(避免乱码)
    • 主键、索引也要对应创建,注意SQL Server的保留字(比如order要改成[order]
  4. CSV导入SQL Server
    打开SQL Server Management Studio (SSMS),选中目标数据库:
    • 右键→「Tasks」→「Import Data」,打开导入向导
    • 数据源选「Flat File Source」,找到对应的CSV文件,设置分隔符为逗号,文本限定符为双引号
    • 目标选「SQL Server Native Client 11.0」,连接到你的实例和数据库
    • 映射字段(确保类型匹配),执行导入,重复直到所有表导入完成

关键注意事项

  • 字符集问题:MySQL默认utf8,SQL Server 2014建议用NVARCHAR存储字符串,或者把数据库排序规则设为Chinese_PRC_CI_AS,避免中文乱码
  • 存储过程/函数:如果转储里有这些,需要手动转换成SQL Server语法(两者差异很大,比如MySQL的DELIMITER在SQL Server里不需要,LIMIT改成TOP
  • 大表优化:迁移前把SQL Server恢复模式改成「简单恢复模式」,减少日志生成,迁移完改回「完整恢复模式」
  • 超时问题:如果单表数据量大,批量导入时可以调大超时时间,或者分批次导入

内容的提问来源于stack exchange,提问作者IndigoChild

火山引擎 最新活动