删除带有孤立索引的分区方案

Sha*_*sek 5 sql-server partitioning dependencies

我试图删除 SQL Server 数据库中的分区方案。这个方案被 2 个索引使用,我删除了它们。

我无法删除该方案,因为它似乎仍然被索引使用,即使它们不再存在。

运行以下查询:

select object_name(i.object_id), i.name, i.index_id
FROM   sys.indexes i
JOIN   sys.partition_schemes ps ON i.data_space_id = ps.data_space_id
WHERE  ps.name = 'CallScheme'
Run Code Online (Sandbox Code Playgroud)

我得到了具有索引的 2 个表的名称,但索引名称为 NULL(索引 id 为 0)。

如何摆脱这些索引以便我可以删除分区方案?

Tho*_*ger 5

但索引名称为 NULL(索引 id 为 0)

那是因为它们是堆BOL 参考sys.indexes

使这些脱离该分区方案的一种方法是为这些表创建聚集索引并指定不同的文件组或其他分区方案。然后,一旦您将这些表从该分区方案中删除,您应该能够继续删除它。

create clustered index IX_YourIndex
on dbo.YourTable (YourCiKeyCol)
on SomeOtherFilegroup;
Run Code Online (Sandbox Code Playgroud)