标题是自我解释的.有没有办法直接进行这种导入?
SQL Server中的.BAK文件采用Microsoft磁带格式(MTF)参考:http://www.fpns.net/willy/msbackup.htm
bak文件可能包含SQL Server用于存储数据库的LDF和MDF文件.
您将需要使用SQL Server来提取这些.SQL Server Express是免费的,可以完成这项工作.
因此,安装SQL Server Express版本,然后打开SQL Server Powershell.执行sqlcmd -S
(以管理员身份登录)
然后发出以下命令.
restore filelistonly from disk='c:\temp\mydbName-2009-09-29-v10.bak'; GO
这将列出备份的内容 - 您需要的是第一个告诉您逻辑名称的字段 - 一个是实际数据库,另一个是日志文件.
RESTORE DATABASE mydbName FROM disk='c:\temp\mydbName-2009-09-29-v10.bak' WITH MOVE 'mydbName' TO 'c:\temp\mydbName_data.mdf', MOVE 'mydbName_log' TO 'c:\temp\mydbName_data.ldf'; GO
此时您已解压缩数据库 - 然后安装Microsoft的"Sql Web数据管理员".与此导出工具一起,您将拥有一个包含数据库的SQL脚本.
我没有找到办法直接做到这一点.
相反,我将bak文件导入SQL Server 2008 Express,然后使用MySQL Migration Toolkit.
像魅力一样工作!
MySql有一个从microsoft sql导入db的应用程序.脚步:
打开MySql Workbench
单击"数据库迁移"(如果看不到,则必须从MySql更新安装)
使用简单向导执行迁移任务列表.