我正在从SQL Server 2005数据库中的表中删除聚簇索引,并且需要很长时间才能运行。
我做了一些研究,并确定删除聚簇索引可能需要很长时间,因为它更新非聚集索引中的指针而不是引用表本身的RowID,但是在此特定方案中没有非聚簇索引在桌子上。
数据库中有很多外键,因此其中一个可能引用了聚簇索引ID。
有没有办法确定哪些对象使用聚簇索引引用而不是RowID?
答案 0 :(得分:1)
如果存在聚簇索引,则所有内容都使用该索引而不是RowID
- 聚簇索引键 IS 行标识符。
所以答案是,任何引用该表的东西。
答案 1 :(得分:0)
查看外键约束的简单直观方法是将表添加到Diagram中。然后,您可以查看关系并检查是否有任何指向聚簇索引。
但是,您丢弃聚簇索引的原因是什么,这很可能是主键?