Sql 向一直在更改的现有表中添加标识列

Sql 向一直在更改的现有表中添加标识列,sql,sql-server-2005,identity-column,Sql,Sql Server 2005,Identity Column,我有一个现有的表,其中有1500万行。我想添加一个标识列并使其成为主键。问题是此表总是在移动(插入、更新、删除)。是否可以使用此选项添加标识列?或者我必须停止更新此表的后台进程(这是一项乏味的任务) 谢谢 Vikram鉴于您有1500万行,执行ALTER TABLE语句可能需要相当长的时间 由于SQL Server不为ALTER table提供表提示,因此假设SQL Server在执行ALTER table语句时使用表锁是非常安全的 在此期间,不允许其他进程选择、插入、更新或删除,因此您不必担心

我有一个现有的表,其中有1500万行。我想添加一个标识列并使其成为主键。问题是此表总是在移动(插入、更新、删除)。是否可以使用此选项添加标识列?或者我必须停止更新此表的后台进程(这是一项乏味的任务)

谢谢
Vikram

鉴于您有1500万行,执行ALTER TABLE语句可能需要相当长的时间

由于SQL Server不为ALTER table提供表提示,因此假设SQL Server在执行ALTER table语句时使用表锁是非常安全的

在此期间,不允许其他进程选择、插入、更新或删除,因此您不必担心与其他进程的竞争条件


如果进程花费足够长的时间,您的其他进程将遇到超时错误。根据流程的编写方式,这可能是件坏事,也可能不是问题,但您需要弄清楚这一点。如果是我,我会关闭它们。

鉴于您有1500万行,执行ALTER TABLE语句可能需要相当长的时间

由于SQL Server不为ALTER table提供表提示,因此假设SQL Server在执行ALTER table语句时使用表锁是非常安全的

在此期间,不允许其他进程选择、插入、更新或删除,因此您不必担心与其他进程的竞争条件


如果进程花费足够长的时间,您的其他进程将遇到超时错误。根据流程的编写方式,这可能是件坏事,也可能不是问题,但您需要弄清楚这一点。如果是我,我会把它们关掉。

对不起,我忘了提。我用的是SQL Server 2005。对不起,我忘了提。我使用SQLServer2005。