SELECT 'DROP INDEX' + name FROM sys.stats WHERE name LIKE '_dta%'查出来的语句,执行一遍即可。
1)通过object_name(object_id)得到表 2)到对应的表下删除统计信息
谢谢!,但那些统计信息确实是优化引擎产生的,一个表里面有多达上百条的统计信息,因此我想全部删除掉哪些以_dat开头的统计信息,然后重新进行优化操作。只是我在表上面直接删除那些统计信息的话总是提示无法删除不存在的统计信息。 后来我根据http://msdn.microsoft.com/zh-cn/library/ms190172%28v=sql.90%29.aspx里面说明的“如果数据库引擎优化顾问进程退出并留下应用程序生成的对象,您可以使用下表中列出的对象名前缀创建搜索这些对象的查询。”。 根据下面语句查询出那些隐含的要删除的索引,只是一下子不知道如何删除查询出来结果,因此在这上面发问,撞进死角,忘了可以直接用drop命令删除。 select is_hypothetical ,* from sys.indexes where is_hypothetical = 1 and name like '_dta%'另:刚才的引用是想引用2楼,虽然引用错了,但是让我知道统计信息不一定是索引才能产生,感谢wufeng4552版主
FROM sys.stats
WHERE name LIKE '_dta%'查出来的语句,执行一遍即可。
2)到对应的表下删除统计信息
后来我根据http://msdn.microsoft.com/zh-cn/library/ms190172%28v=sql.90%29.aspx里面说明的“如果数据库引擎优化顾问进程退出并留下应用程序生成的对象,您可以使用下表中列出的对象名前缀创建搜索这些对象的查询。”。
根据下面语句查询出那些隐含的要删除的索引,只是一下子不知道如何删除查询出来结果,因此在这上面发问,撞进死角,忘了可以直接用drop命令删除。
select is_hypothetical ,* from sys.indexes
where is_hypothetical = 1 and name like '_dta%'另:刚才的引用是想引用2楼,虽然引用错了,但是让我知道统计信息不一定是索引才能产生,感谢wufeng4552版主