我有一个Customer
表,它有5500万条记录。我需要用增量值
HHPK
的例子:
12345....upto 55 million
我正在使用下面的脚本,但脚本是错误的事务日志数据库已满…
DB正在使用简单恢复模型
DECLARE @SEQ BIGINT
SET @SEQ = 0
UPDATE Customers
SET @SEQ = HHPK = @SEQ + 1
还有其他方法可以做那个任务吗?请帮助
由于您的表已经有一个CustomerPK
标识列,只需使用:
UPDATE dbo.Customers
SET HHPK = CustomerPK
当然—对于5500万行,这将对您的日志文件造成压力。因此,您可能希望批量执行此操作—最好是少于5000行,以避免锁升级效果,这会独占地锁定整个表:
UPDATE TOP (4500) dbo.Customers
SET HHPK = CustomerPK
WHERE HHPK IS NULL
并重复此操作,直到整个表被更新。
但真的:如果你已经有一个INT IDENTITY
列CustomerPK
-为什么你需要第二个列来保存相同的值?对我来说没什么意义....