【发布时间】:2010-09-22 18:47:40
【问题描述】:
我使用常规的 SQL Server 2005 备份命令进行了备份。有没有办法只恢复一个表,而不是整个数据库?
【问题讨论】:
标签: sql-server backup restore
我使用常规的 SQL Server 2005 备份命令进行了备份。有没有办法只恢复一个表,而不是整个数据库?
【问题讨论】:
标签: sql-server backup restore
将整个数据库恢复到另一台机器(或临时数据库),然后复制表对我来说似乎是最简单的。
【讨论】:
备份和recovery in SQL Server的单位是数据库(它是参照完整性的外边界)。
Red Gate 有一些 pretty good tools 用于行级恢复(SQL 数据比较和 SQL 备份),但它们是有代价的。
【讨论】:
分离当前数据库,然后将带有 tbl 日期的数据库还原到新位置(创建一个子文件夹),使其与生产数据库分开,然后将数据库还原到该子文件夹,完成后找到您需要的 tbl 并将其编写为创建脚本文件保存到文件中,完成数据库删除它然后重新附加原始数据库,现在向下滚动到要恢复的 tbl 并将其编写到创建文件中(这只是一个备份)现在删除 tbl,确保选择了您的数据库,然后活动的数据库加载您刚刚使用查询分析器中的另一个数据库创建的脚本文件并运行它,它应该报告成功现在检查看看你的 tbl 有没有换过。你完成了
【讨论】:
SSMS 本身不支持此功能,但可以使用第三方工具。
除了 Red Gate(顺便说一句很棒的工具),您还可以从 ApexSQL 尝试 SQL Diff(恢复对象)和 SQL Data Diff(恢复数据)。
免责声明:我不隶属于 ApexSQL,但我们是他们的客户并使用他们的工具
【讨论】: