在我的开发机上重新安装了 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(有错误)。