1

我有一张Customer有 5500 万条记录的表。我需要HHPK用增量值 更新列

例子:

12345....upto 55 million

我正在使用以下脚本,但脚本出错,因为数据库的事务日志已满..

DB 正在使用简单的恢复模型

DECLARE @SEQ BIGINT 
SET @SEQ = 0
UPDATE Customers 
SET @SEQ = HHPK = @SEQ + 1 

有没有其他方法可以完成这项任务?请帮忙

4

1 回答 1

0

由于您的表已经有一个CustomerPK标识列,只需使用:

UPDATE dbo.Customers
SET HHPK = CustomerPK

当然 - 有 5500 万行,这将对您的日志文件造成压力。因此,您可能希望分批执行此操作 - 最好少于 5000 行,以避免锁定升级效应,从而专门锁定整个表:

UPDATE TOP (4500) dbo.Customers
SET HHPK = CustomerPK
WHERE HHPK IS NULL

并重复此操作,直到整个表已更新。

但实际上:如果您已经INT IDENTITYCustomerPK- 为什么需要第二列来保存相同的值?对我来说没有多大意义......

于 2013-05-29T16:14:46.767 回答