使用SQL Server 2012,我不知何故最终得到一个名为:
的索引<Name of Missing Index, sysname,>
我不确定它是怎么发生的。我尝试使用以下方法删除此索引:
DROP INDEX EMAIL_ADDRESS.<Name of Missing Index, sysname,>
当然我不会收到预期的错误消息:
Incorrect syntax near '<'.
在SQL Server中查询DMV告诉我,我应该删除这个索引,这样我就不能这样做更令人沮丧。这是几年来一直啃我的小事之一。这些年来,我已经多次寻找答案了。我可能已经花了4个小时才找到一种方法来通过名称以外的东西来删除索引。什么都没有。
有人能帮助我吗?运行此查询:
SELECT * FROM SYS.INDEXES WHERE NAME = '<Name of Missing Index, sysname,>'
生成一个281104092的OBJECT_ID。有没有办法使用此ID删除对象?一定有,对吗?我是不是永远坚持这个疯狂的指数?
答案 0 :(得分:0)
DROP INDEX EMAIL_ADDRESS.[<Name of Missing Index, sysname,>]
应该做的伎俩。方括号内的文本可以包含特殊字符,例如&lt;,&gt;,space等。
答案 1 :(得分:0)
尝试使用数据库所有者名称删除。它为我工作。
DROP INDEX ccl2.[TBL_HamdunSoft].[<Name of Missing Index, sysname,>]
Or
DROP INDEX dbo.[TBL_HamdunSoft].[<Name of Missing Index, sysname,>]