删除假设索引

Pse*_*oad 8 index sql-server-2008 sql-server database-tuning-advisor

过去,我认为我已经使用 DROP INDEX 语句用于聚集索引和 DROP STATISTICS 语句用于非聚集索引来删除假设索引。

我有一个数据库,里面满是我想要清理的 DTA 残余;但是,当我尝试删除对象时,我总是收到一个错误,告诉我我无法删除该对象,“因为它不存在或您没有权限”。我是服务器上的完整系统管理员,因此希望有权做任何事情。

我已经用 DROP STATS 和 DROP INDEX 语句尝试过这个,但都给了我同样的错误。

有没有人以前删除过这些,是否有我遗漏的技巧?


附录

仔细研究一下,我只是注意到如果我在对象上单击鼠标,“脚本为”和“删除”选项都变灰了。

Mik*_*ll' 2

在线图书包含多种可能导致您无法删除索引的原因。

  • 该索引与主键约束相关联。
  • 文件组处于脱机或只读状态。
  • 如果索引在视图上禁用,或者叶级数据行中包含 text、ntext、image、varchar(max)、nvarchar(max)、varbinary(max) 或 xml 列,则无法在线删除聚集索引”。
  • 您没有正确的权限:“要执行 DROP INDEX,至少需要对表或视图具有 ALTER 权限。默认情况下,此权限授予 sysadmin 固定服务器角色以及 db_ddladmin 和 db_owner 固定数据库角色。 ”

可能还有其他原因。