我想将MS SQL SERVER2008 R2数据库备份导入MySQL Server。有关如何将.bak转换为.sql以便将其导入MySQL数据库服务器的任何帮助吗?
我已经阅读了其他相关内容,但到目前为止还没有。
谢谢。
答案 0 :(得分:3)
您可以将数据库还原到本地版本的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';