无法删除主键约束 'PK_Person_BusinessEntityID',因为该表具有 XML 索引或空间索引请问如何解决。

解决方案 »

  1.   

    Person表应该有其他表链接在上面,先删除其他表中的内容
      

  2.   

    楼主,因为主键约束和聚集索引绑定在一起了而删除聚集索引时会一般自动删除相关的索引,可能也包含XML索引,建议你先手工清理掉全部的索引,最后删除主键。
      

  3.   

    感谢你的回答,你的语句虽好,不过有点不足:无法看到这些外键存在于哪个表。昨天我自己写了一个,拿出来给大家参考下:
    ;WITH    id
              AS ( SELECT   fk.constraint_object_id ,
                            fk.parent_object_id
                   FROM     sys.foreign_key_columns fk
                   WHERE    fk.referenced_object_id = ( SELECT  object_id
                                                        FROM    sys.tables
                                                        WHERE   name = 'person'
                                                      )
                 )
        SELECT  so.NAME ,
                st.NAME
        FROM    sys.objects so
                JOIN id ON so.object_id = id.constraint_object_id
                JOIN sys.tables st ON id.parent_object_id = st.object_id