Sql server 打开SQL Server.bak文件(不还原!)
我已经阅读了很多关于如何从.bak文件恢复SQL Server中的数据库的google帖子和StackOverflow问题 但它们都没有说明如何只读取数据库备份中的表。 (反正我也找不到?) 我只想查看一些旧信息,这些信息现在已被删除,而不实际恢复完整的数据库。 这可能吗 编辑: 我只是想发布我对这个问题的T-SQL解决方案,以便其他人可以使用它,我可以返回并查找;) 首先,我创建了一个名为Sql server 打开SQL Server.bak文件(不还原!),sql-server,sql-server-2008,backup,restore,Sql Server,Sql Server 2008,Backup,Restore,我已经阅读了很多关于如何从.bak文件恢复SQL Server中的数据库的google帖子和StackOverflow问题 但它们都没有说明如何只读取数据库备份中的表。 (反正我也找不到?) 我只想查看一些旧信息,这些信息现在已被删除,而不实际恢复完整的数据库。 这可能吗 编辑: 我只是想发布我对这个问题的T-SQL解决方案,以便其他人可以使用它,我可以返回并查找;) 首先,我创建了一个名为backup\u lookup的新数据库,并将其脱机。 在这之后,我可以将我的旧数据库mydb恢复到新数
backup\u 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
我希望这有帮助:)唯一可行的解决方案是恢复
.bak
文件。这些文件的内容和结构没有文档记录,因此,真的没有办法(除了一次可怕的黑客攻击)让它起作用-绝对不值得你花时间和精力
我所知道的唯一能够理解.bak
文件而不恢复它们的工具是(以及附带的SQL数据比较),它允许您将数据库结构与.bak
文件的内容进行比较。红门工具是绝对了不起的-强烈推荐,值得每一分钱,他们的成本
我刚刚查看了他们的网站-似乎确实可以使用SQL Compare Pro从.bak
文件中还原单个表:-) 来自SQL Server 2008 SSMS(SQL Server Management Studio),只需:
- a) 选择要还原到的数据库;或者,或者
- b) 只需创建一个新的空数据库进行恢复
在选项下选择“覆盖=Y”。
还原数据库
PPS:如果希望编写脚本,您也可以使用T-SQL命令完成同样的任务。单用SQL Server 2008似乎不可能做到这一点。您将需要第三方工具的帮助 它将帮助您使.bak像一个实时数据库:
没有标准的方法来实现这一点。您需要使用第三方工具,如或。这些工具实际上并不直接读取备份文件。他们让SQL Server“思考”备份文件,就好像这些是实时数据库一样。只需添加我的TSQL脚本解决方案: 首先,;添加名为
backup\u 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
又一颗红门宝石!:-)我不太明白为什么微软没有决定提供这种功能。。如果他们这样做了,对生意会有好处的。你说得对。我想我应该为消费者的利益说话!捆绑电源!*拳头在空中*对redgate的SQL虚拟还原的支持于2015年2月6日结束,不再可用。啊,所以我可以临时创建一个数据库并将其还原到,然后删除它,而不影响我的原始数据库?:)SQL虚拟恢复支持于2015年2月6日结束。