在我的开发机上重新安装了 Windows,忘记备份 SQL Server Express 2008 中任何正在进行的数据库?我可以恢复任何内容吗?

在我的开发机上重新安装了 Windows,忘记备份 SQL Server Express 2008 中任何正在进行的数据库?我可以恢复任何内容吗?

在我的开发机上重新安装了 Windows,忘记备份 SQL Server Express 2008 中任何正在进行的数据库?我可以恢复任何内容吗?

我仍然有旧安装的文件。我应该在哪里查看?

答案1

您正在寻找的文件是.ldf 和.mdf 文件。

默认情况下,如果您的数据库名为 foobar,您将有一个 foobar.mdf 文件和一个 foobar_log.ldf 文件。

您可以将它们复制到新安装中,然后使用 SQL 管理中的 sp_attach_db 重新附加文件。sp_attach_db 在 SQL 2005 中已弃用,但我相信它在 SQL 2008 中仍然有效。

答案2

感谢 hmallett 为我指明了正确的方向。

我用了取消删除我的文件。在 C:\Program Files\Microsoft SQL Server\MSSQLEXPRESS\DATA 中找到它们。将我的数据库恢复到外部 fat32 usb 驱动器(以删除权限)。

接下来我打开 SQL Server Management Studio 并使用它来连接它: EXEC sp_attach_db @dbname = N'pickyournewdatabasename', @filename1 = N'F:\TheFolderWhereYouHaveTheRecoveredDB\olddatabasename.mdf' @filename2 = N'F:\TheFolderWhereYouHaveTheRecoveredDB\olddatabasename_log.ldf'

我跳过了添加 ldf 日志文件,它生成了一个新文件。您可以根据需要添加它。完成此步骤后,一切正常,您现在应该使用正常的备份和恢复选项。

PS. 确保安装的 SQL Server 版本与旧版本相同。如果出现 661 665 错误。请转到此处:SQL Server 版本错误。我安装了 R2,而 Web 平台安装了 R1(有错误)。

相关内容