我正在尝试在SQL中备份特定的表,但是在发布包含数据的脚本时,脚本太大了。它已经运行了一个多小时,脚本大小已超过1TB。即使执行这么大的脚本也是不可能的。
我在SQL中重新创建了这些表的备份,但它只是太大而且我的数据库目录上没有足够的空间。
有没有人对如何备份这些表有任何建议?
Table 1 : 56,370,203 records
Table 2 : 35,528,469 records
Table 3 : 7,965,568 records
提前谢谢。
答案 0 :(得分:0)
为什么不创建另一个数据库,将您感兴趣的数据复制到该数据库中(我想这取决于行大小这是多么可行)
将数据复制到另一个数据库后,您可以自行备份数据。至少那时你不需要对整个数据库进行完整备份!
完成后,您可以清空复制数据库并释放一些服务器空间。
或者,让自己成为一个非常大的动力......
答案 1 :(得分:0)
所以,如果您只想保留某些表的状态然后稍后恢复它,那就是我要做的:
1)制作另一个数据库[TableBackup]。
2)要备份表格,请为每个表格执行此操作:
USE [TableBackup] GO IF OBJECT_ID('<<yourTable>>') IS NOT NULL DROP <<yourTable>>; SELECT * INTO <<yourTable>> FROM <<yourDB>>.dbo.<<yourTable>>; GO
3)要恢复表,请对每个表执行此操作:
USE [<<yourDB>>] GO TRUNCATE <<yourTable>>; INSERT INTO <<yourTable>> FROM [TableBackup].dbo.<<yourTable>>; GO
未测试。您可能必须对表中的外键和/或标识列进行调整。