打开SQL Server .bak文件(不还原!)

时间:2011-12-13 21:55:25

标签: sql-server sql-server-2008 backup restore

我一直在阅读很多google帖子和StackOverflow有关如何从.bak文件恢复SQL Server数据库的问题。

但是他们都没有说明如何只读取数据库备份中的表。 (无论如何我都找不到?)

我只想查看一些现已删除的旧信息,而不是实际恢复完整数据库。 这可能吗?

修改

我只是想发布我的T-SQL解决方案来解决这个问题,所以其他人可能会使用它,我可以回去查找它;)

首先,我创建了一个名为backup_lookup的新数据库,并使其脱机。 在此之后,我可以将旧数据库mydb恢复到新数据库,而不会触及我原来的数据库。

USE master
GO
RESTORE DATABASE backup_lookup
 FROM DISK = 'D:\backup\mydb.bak'
WITH REPLACE,
 MOVE 'mydb' TO 'C:\Program Files\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSQL\DATA\backup_lookup.mdf',
 MOVE 'mydb_log' TO 'C:\Program Files\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSQL\DATA\backup_lookup_log.ldf'
GO

我希望这会有所帮助:)

5 个答案:

答案 0 :(得分:31)

从SQL Server 2008 SSMS(SQL Server Management Studio),只需:

  1. 连接到您的数据库实例(例如,“localhost \ sqlexpress”)
  2. 或者:

    • a)选择要还原到的数据库;或者,或者
    • b)只需创建一个新的空数据库即可恢复为。
  3. 右键单击,任务,还原,数据库

  4. 设备,[...],添加,浏览.bak文件
  5. 选择备份 在选项下选择“overwrite = Y” 恢复数据库
  6. 应该说“100%完成”,您的数据库应该在线。
  7. PS:再次强调:您可以在“临时数据库”上轻松完成此操作 - 需要覆盖当前数据库。但是执行需要 RESTORE

    PPS:如果您希望编写脚本,也可以使用T-SQL命令完成相同的操作。

答案 1 :(得分:11)

唯一可行的解​​决方案是恢复 .bak文件。这些文件的内容和结构是没有记录,因此,实际上没有办法(除了可怕的黑客攻击)才能让它工作 - 绝对不值得你的时间和努力!

我知道的唯一可以理解.bak文件而不恢复文件的工具是Red-Gate SQL Compare Professional(和随附的SQL数据比较),它允许您将数据库结构与内容进行比较一个.bak文件。 Red-Gate工具绝对是绝对的 - 非常值得推荐,非常值得花费每一分钱!

我刚检查了他们的网站 - 看起来您确实可以使用SQL Compare Pro从.bak文件中恢复单个表! : - )

答案 2 :(得分:9)

没有标准的方法可以做到这一点。您需要使用第三方工具,例如ApexSQL RestoreSQL Virtual Restore。这些工具并不直接读取备份文件。他们让SQL Server“思考”备份文件,就像这些是实时数据库一样。

答案 3 :(得分:1)

只是添加我的TSQL脚本解决方案:

首先;添加名为backup_lookup的新数据库。 然后只需运行此脚本,插入自己的数据库的根路径和备份文件路径

USE [master]
GO
RESTORE DATABASE backup_lookup
 FROM DISK = 'C:\backup.bak'
WITH REPLACE,
 MOVE 'Old Database Name' TO 'C:\Program Files\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSQL\DATA\backup_lookup.mdf',
 MOVE 'Old Database Name_log' TO 'C:\Program Files\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSQL\DATA\backup_lookup_log.ldf'
GO

答案 4 :(得分:0)

单独使用SQL Server 2008似乎不可能。您将需要第三方工具的帮助。

它可以帮助您使.bak充当实时数据库:

http://www.red-gate.com/products/dba/sql-virtual-restore/