我遇到了磁盘故障,我正在尝试恢复我的 MSSQL DB。我似乎缺少与 DB 关联的 MDF 文件(还有其他一些较旧的 MDF 可用)。
唯一的备份方案是每月进行一次完整的 ntbackup 转储,然后每天进行一次增量备份。ntbackup 会拾取 MDF 文件吗?我在 BKF 中找不到它们!
我是不是彻底完蛋了?
谢谢。
答案1
如果 SQL Server 在备份期间关闭,则您应该有 MDF。如果启用了 VSS,您可能也会有它们。否则,它们可能会丢失 - MDF(和相关的 LDF)由 SQL Server 保持打开状态,因此ntbackup
无法获得对它的独占访问权限。
如果您让 SQL Agent 执行对磁盘文件的备份,您可能能够找到相应的 BAK 文件并从中执行还原。
答案2
MSSQL 始终打开 MDF/LDF 文件,因此直接运行 ntbackup 将无法读取它们。您需要在 MSSQL 中设置维护计划,以定期备份数据库和事务日志(如果您需要时间点恢复),或者启用 VSS Writer 服务(在 MSSQL 2008 之前默认不启用)以启用卷影支持,这将允许 ntbackup 获取 MDF/LDF(但您无法使用这些服务进行时间点恢复。)
就你的情况而言,事后看来,你(不幸)可能运气不佳。