Sql server 2008 r2 在SQL Server 2008 R2中更新表

Sql server 2008 r2 在SQL Server 2008 R2中更新表,sql-server-2008-r2,updates,Sql Server 2008 R2,Updates,我有一个拥有5500万条记录的客户表。我需要用增量值更新列HHPK 例如: 12345....upto 55 million 我正在使用以下脚本,但该脚本出错,因为数据库已满 DB使用简单的恢复模型 DECLARE @SEQ BIGINT SET @SEQ = 0 UPDATE Customers SET @SEQ = HHPK = @SEQ + 1 有没有其他方法来完成这项任务?请提供帮助因为您的表已经有CustomerPK标识列,只需使用: UPDATE dbo.Customers

我有一个拥有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,那么为什么需要第二个列来保存相同的值呢?对我来说没有多大意义……

表已经有标识列CustomerPK。如何将HHPK更新为与CustomerPK相同?