问题:我有一张很大的桌子 - 占用了高达 9.5 TB 的空间。我需要从中删除大约 500 万行。我想出的最好方法在 2 小时内删除了 100 万条记录!由于我无法在高峰时间运行此程序,因此我每天只有 2 小时的时间窗口,以这种速度删除 500 万行需要 4 个工作日。
问:我想知道 SQL Server 是否具有可以同时对一个表运行 2 个或多个删除的功能。可能类似于虚拟分区表 - 不确定。
我还想补充一点,运行我的脚本会导致页面锁定,但会阻止事务日志增长。我的脚本与 vonPryz 建议的脚本非常相似:
如何在不增加事务日志的情况下从大表中批量删除Greg M Lucas。
这是我第一次将表添加到复制中。
我已经概述了将新表添加到现有复制的以下步骤。如果我错了,请纠正我。该表刚刚创建 - 没有数据。
exec sp_addarticle @publication = N'pub1', @article = N'tab1', @source_owner = N'dbo', @source_object = N'tab1'
EXEC sp_addsubscription
@publication = 'pub1',
@subscriber = 'sub1',
@destination_db = 'MLT-Rep'
GO
EXEC sp_addsubscription
@publication = 'pub1',
@subscriber = 'sub2',
@destination_db = 'MLT-Rep'
Run Code Online (Sandbox Code Playgroud)
在此之后,我应该运行 Snapshot 对吗?我该怎么做?只需导航到“本地发布”->“查看快照代理状态”-> 开始
以上步骤对吗?