首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将.bak导入MySQL (.sql)

将.bak导入MySQL (.sql)
EN

Stack Overflow用户
提问于 2012-03-11 21:13:53
回答 1查看 11.3K关注 0票数 0

我想将MS SQL SERVER2008 R2数据库备份导入MySQL服务器。对于如何将.bak转换为.sql以便将其导入到MySQL数据库服务器,有什么帮助吗?

我读过关于这方面的其他文章,但到目前为止没有一条有效。

谢谢。

EN

回答 1

Stack Overflow用户

发布于 2012-03-11 21:23:07

您可以将数据库还原到Server的本地版本(您可以下载免费的评估版本来完成此操作):

http://msdn.microsoft.com/en-us/evalcenter/ff459612.aspx

然后,可以使用Management中的导入/导出向导将表和其他对象传输到MySQL数据库(您可能需要在本地安装额外的ODBC驱动程序,以便Server建立到MySQL的连接)。

编辑

将数据库还原到Server时,不要使用笨重的UI。使用实际的RESTORE DATABASE命令。例如:

代码语言:javascript
复制
RESTORE DATABASE foo FROM DISK = 'c:\path\foo.bak';

现在,您可能会发现,原始数据库是用放在本地不存在的驱动器或文件夹上的文件创建的。因此,我建议创建一个非常简单的文件夹,临时命名为c:\db_temp\,授予Everyone帐户修改权限,然后运行以下命令:

代码语言:javascript
复制
RESTORE FILELISTONLY FROM DISK = 'c:\path\foo.bak';

这将返回如下所示的结果集:

代码语言:javascript
复制
LogicalName  PhysicalName
-----------  ------------
Foo          C:\...\foo.mdf
Foo_log      C:\...\foo_log.ldf

您需要根据上面的结果构建一个RESTORE DATABASE命令,如下所示:

代码语言:javascript
复制
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';
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9658956

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档