Azure中具有聚簇索引的表的聚簇索引错误

时间:2015-04-26 05:47:59

标签: sql azure azure-sql-database

我在SQL Azure上运行此命令。

DELETE FROM dbo.Users

我收到此错误。

  

Msg 40054,Level 16,State 1,Line 1
  此版本的SQL Server不支持没有聚簇索引的表。请创建聚簇索引,然后重试。

然后我尝试创建聚簇索引。

CREATE UNIQUE CLUSTERED INDEX Idx_Users ON dbo.Users(Id);

我收到此错误。

  

Msg 1902,Level 16,State 3,Line 4
  无法在桌面上创建多个聚集索引' dbo.Users'。删除现有的聚集索引' PK_dbo.Users'在创造另一个之前。

我或我没有聚集索引吗?

1 个答案:

答案 0 :(得分:1)

我有一个类似的问题,我无法从表中删除记录。

阅读此帖后SQL Azure not recognizing my clustered Index,与您的帖子配对,我在Object表格中通过MSSMS检查了依赖关系; 0-n关系表Security_User具有对此表的FK引用。此引用未编入索引,并且(奇怪地)触发了相关错误。

将CLUSTERED INDEX应用于引用PK表Security_UserHistory的FK表Security_UserHistory后,问题得以解决。

enter image description here

我希望Microsoft会在错误消息中添加一些清晰度,因为它表明问题在于您要删除行的表。