未对内存进行优化的表上的ALTER TABLE DROP INDEX失败

时间:2019-05-01 09:58:08

标签: sql azure-sql-database memory-optimized-tables

我试图删除在表上创建的索引,但出现此错误-

  

仅内存优化表支持“ ALTER TABLE DROP INDEX”操作。

我需要删除此索引才能在表中删除字段。有什么方法可以做到,而无需复制表并在所有数据之间迁移?

5 个答案:

答案 0 :(得分:1)

只能使用alter table语句在内存优化表上删除索引

更改表的表名DROP INDEX索引名

或非内存优化表

DROP INDEX索引名ON表名

SQL Server 2016支持内存优化表。

答案 1 :(得分:0)

对于常规表,您应该使用DROP INDEX语法:

DROP INDEX index_name ON tab_name;
  

ALTER TABLE

     

语法ALTER TABLE ... ADD / DROP / ALTER INDEX 仅受内存优化的表支持。

答案 2 :(得分:0)

查看here:如果它不是内存优化表,则只需使用“ drop index”语句。

答案 3 :(得分:0)

删除索引

DROP INDEX index_name ON table_name

添加索引

CREATE INDEX index_name ON table_name(column1, column2, ...);

答案 4 :(得分:-1)

你需要使用 Drop Index <IndexName> On <TableName>