同事发来一个 .mdf,说是游戏光盘镜像,让我帮忙装。可我第一反应是 SQL Server 的数据库文件,这两个东西同名不同命,打开方式完全不一样。
先看旁边有没有 ldf 或 mds
mdf文件有两种常见身份。一种是 SQL Server 的主数据文件,通常和同名的 .ldf 日志文件放在一起;另一种是光盘镜像,往往配一个 .mds 索引文件,体积动辄几个 GB。
分不清就看大小和位置。数据库文件多在 SQL Server 的 DATA 目录,几百 MB 到几十 GB;镜像文件常出现在下载目录,和 mds 成对出现,文件名还带着游戏或软件的名字。
实在分不清,用记事本打开看前几个字节,SQL Server 的 mdf 一般带固定的文件头标记,镜像则常以其他标识开头;看不懂就别硬猜,问发件人最快。
数据库文件用 SSMS 附加
打开 SQL Server Management Studio,右键「数据库」选「附加」,添加 mdf,确认日志文件路径没问题,点确定就行。提示只读或者版本过高,多半是权限或实例版本不一致。
数据库版本也要看。高版本实例生成的 mdf,拿到低版本 SQL Server 上附加,一般会直接报版本不兼容,降级没有官方捷径,只能导出脚本和数据再导入。
附加前最好把原文件复制一份,尤其是生产库。附加失败时别反复点重试,先看错误信息里提到的是权限、版本还是文件损坏。
如果 ldf 丢了,只剩一个 mdf,可以尝试只附加主文件让系统重建日志,但成功率看文件状态,操作前一定备份原文件。
光盘镜像要挂虚拟光驱
这类 mdf文件用虚拟光驱软件挂载,或者用转换工具转成 ISO 再挂。挂上之后在资源管理器里当光盘用,安装程序一般会自动弹出。
有的虚拟光驱只认 mds,有的可以直接打开 mdf。先按原配文件挂,报错再换工具,别急着重命名。
还有一点,别把数据库的 mdf 改成 iso 或反过来试,文件头不对,工具只会提示损坏,白白浪费时间。
所以别看到扩展名就下结论,先看同伴文件:有 ldf 是数据库,有 mds 是镜像。方向搞错,装再多工具也打不开。