2012-05-05 54 views
2

我期待将数据从MySQL迁移到SQL Server。我的第一个想法是以.bak格式进行数据备份并转储到SQL Server中。那么有没有办法以.bak格式获得MySQL数据库备份文件?将数据从MySQL迁移到SQL Server

否则,有没有更简单,更简单的方法将数据从MySQL迁移到SQL Server?

+0

您始终可以指定转储文件扩展名为.bak – Satya

+1

.bak是专用于SQL Server的专有二进制格式。 MySQL只能转储到基于文本的文件,这些文件具有原始SQL语句来重建db/tables/data。您可以将该转储文件加载到sql server的控制台中,并将其作为一系列长命令运行。 –

回答

0

我希望你不必这样做,但作为最后的手段,你可以生成一个自定义的SQL数据转储如下;

SELECT CONCAT_WS(' ' 
    , 'INSERT INTO [dbo].[table_name] (col1,col2) VALUES' 
    , col1 
    , CONCAT('"', col2, '"') 
    , ';' 
) AS '-- Inserts' 
FROM table_name 
ORDER BY col1 ASC; 

这可能是因为你喜欢复杂的,虽然我只建议,如果您发现您的数据到SQL Server由于问题例如自动数据转换问题。除非您的数据量很大,否则您最好使用mysqldump并通过过滤等方式过滤输出。 sedperl

1

您是否尝试过使用MS SQL(附带标准版或更高版本)的SSIS? 我不知道你想要什么转移,但表和视图很容易这样说:

  1. 创建一个新的MS SQL数据库(空)
  2. 数据库,然后选择任务上点击右键 - >进口数据
  3. 作为源选择MySQL驱动程序(之前需要安装 - http://dev.mysql.com/downloads/connector/odbc/
  4. 选择DB,连接到它,然后按照助手选择视图和表
  5. 助理可以节省结束SSIS包并使用Visual中的SSIS项目进行编辑Studio Business Intelligence(附带MS SQL标准或更高版本)或者您只需运行它。如果遇到传输/转换问题,您可能需要使用Studio版本进行编辑,并修改程序包以处理出现问题的表格/列。