我想将 MS SQL SERVER2008 R2 数据库备份导入到 MySQL Server。有关如何将 .bak 转换为 .sql 以便将其导入 MySQL 数据库服务器的任何帮助吗?
我已经阅读了与此相关的其他主题,但到目前为止没有一个有效。
谢谢。
最佳答案
您可以将数据库恢复到本地版本的 SQL Server(您可以下载免费评估版来执行此操作):
http://msdn.microsoft.com/en-us/evalcenter/ff459612.aspx
然后,您可以使用 Management Studio 中的导入/导出向导将表和其他对象传输到 MySQL 数据库(您可能需要在本地安装其他 ODBC 驱动程序,以便 SQL Server 建立与 MySQL 的连接)。
编辑
将数据库恢复到 SQL Server 时,不要使用笨重的 UI。使用实际的RESTORE DATABASE
命令。例如:
RESTORE DATABASE foo FROM DISK = 'c:\path\foo.bak';
现在,您可能会发现原始数据库是使用放置在本地不存在的驱动器或文件夹上的文件创建的。因此,我建议临时创建一个非常简单的文件夹,名为 c:\db_temp\
,给予 Everyone
帐户修改权限,然后运行以下命令:
RESTORE FILELISTONLY FROM DISK = 'c:\path\foo.bak';
这将返回一个结果集,例如:
LogicalName PhysicalName
----------- ------------
Foo C:\...\foo.mdf
Foo_log C:\...\foo_log.ldf
您需要根据上面的结果构建一个类似于以下内容的 RESTORE DATABASE
命令:
RESTORE DATABASE foo FROM DISK = 'c:\path\foo.bak'
WITH MOVE 'Foo' TO 'c:\db_temp\foo.mdf',
MOVE 'Foo_log' TO 'c:\db_temp\foo_log.ldf';
关于mysql - 将 .bak 导入 MySQL (.sql),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9658956/