【发布时间】:2012-01-29 07:39:08
【问题描述】:
我有一个大约 1000 万行的表。我们刚刚使用 SQL Server Management Studio 从另一个数据库导入它。它创建表,但在主键列上没有标识和主键。
我可以添加主键但无法添加身份。当我在设计师中做这件事时,它总是超时。即使我将超时设置设置为 0。
我可能需要创建另一个列集主键和标识,从旧列复制数据,删除旧列并重命名新列。
谁能告诉我在没有额外过热的情况下,对于这么大的桌子,最好的方法是什么?
【问题讨论】:
-
所以这样的事情给了你一个超时?
alter table TableName add ID int identity(1, 1) primary key -
您可以使用
ALTER TABLE ... SWITCH几乎立即执行此操作。即使在 1000 万行的表上。 -
@TimLehner:可能不是——他说这让他在视觉设计器中超时——它试图以新格式重新创建表格并复制所有数据——所有 1000 万行.. .... 使用您的
ALTER TABLE声明,应该轻而易举!
标签: sql sql-server sql-server-2008