我有一个包含许多表的大型数据库。数字不重要。我完全控制的 Server 2016 上的 MSSQL 2017 (14.0.2037.2)。
我的大量数据在两个或三个表中。想象一下,您正在跟踪汽车,您将有一个包含几千辆汽车的表格,而每辆汽车在一段时间后都有数百万个数据点。从字面上看,我 80% 的存储空间被三个表使用。
在生产中没有问题。备份发生,恢复测试成功,一切都很好。
我希望能够偶尔将非愚蠢的大表拉下来进行开发以进行故障排除,或者只是从其他表中获取一些真实世界的数据。我不需要大桌子。这需要一个小时,并且必须通过文件传输服务(这将使我的数据库中的私人数据不受我控制)。
为了简化问题,是否有一种简单的方法可以仅备份要在开发服务器上还原的选择表?我想我将尝试将大表移动到一个单独的文件中,然后复制剩余的小文件,但这当然不像正确的备份/恢复那样干净或防弹。
来自任何 SQL 专家的建议?
**编辑-运行了一段时间后,下面的答案在技术上是正确的,但最终实际上并没有用。我确实在他们自己的文件组中有我的大表,这允许我单独备份文件,但是我不能简单地获取较小的文件并在没有它的大兄弟的情况下恢复它而不引入风险和手动填充。
“最快”选项是在本地服务器上恢复数据库,然后截断不必要的表,然后将该数据库备份并恢复到 dev。
当然,现在我已经使用了 Azure,所以这一切都是多余的。
就去 Azure 人吧。