使用日志传送删除数百万条记录 - SQL Server

3

我对日志传送不太熟悉,但是我需要从一个包含71百万记录的表中删除70百万条记录。

我的问题是如果我执行以下操作,日志传送将如何反应:

  1. 将我想要保留的百万条记录复制到一个新表中
  2. 清空原始表(Truncate Table OriginalTable)
  3. 在原始表中插入这些百万条记录

我们的日志空间有限。哪些操作会被记录和传送?

谢谢


我认为你应该从主数据库中删除,而日志传送将反映这些更改。 - Fuzzy
你也可以创建一个新表,命名为 Shipping_NEW 或其他名称,并直接从生产表中将要保留的记录插入到其中。然后将旧表重命名为类似于Shipping_BAK的名称...将Shipping_NEW重命名为Shipping(使其成为生产表)。这样可以节省执行两次插入操作时的日志空间。如果你问我是否正常,我认为是的,但由于你似乎很关心,这是另一种选择。然后你可以删除或保留旧表。 - S3S
1个回答

3

谢谢,根据您的回答,我很有信心继续进行我的程序。所有操作都很顺利,对于近一百万条记录的截断和插入,日志文件仅为225mb。 - freddoo

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接