No passado, pensei que havia excluído índices hipotéticos usando uma instrução DROP INDEX para índices em cluster e a instrução DROP STATISTICS para índices não em cluster.
Eu tenho um banco de dados cheio de restos de DTA que eu gostaria de limpar; no entanto, quando tento soltar o objeto, sempre recebo um erro dizendo que não posso soltar o objeto "porque ele não existe ou você não tem permissão". Como sou um administrador de sistema completo no servidor, esperaria ter direitos para fazer qualquer coisa.
Eu tentei isso com as instruções DROP STATS e DROP INDEX, mas ambas me deram o mesmo erro.
Alguém já excluiu estes antes e há um truque que estou perdendo?
Termo aditivo
Observando isso, percebi que, se eu clicar com o botão R do objeto, as opções 'Script Como' e 'DELETE' ficam acinzentadas.
fonte
DROP INDEX
é a sintaxe correta para os índices agrupados e não agrupados.DROP STATISTICS
é especificamente para estatísticas diferentes.Respostas:
Os índices hipotéticos criados pelo Index Tuning Wizard começam com um nome de "hind_%" e não devem existir após a conclusão do ajuste; todos eles devem ser removidos. Você pode executar o seguinte script no SQL Server Query Analyzer para remover quaisquer índices que possam existir. Você deve efetuar login usando uma conta que tenha permissões sysadmin ou db_owner ou seja o proprietário do objeto no qual essas estatísticas foram criadas.
Por exemplo
O script acima é fornecido pela Microsoft para obter mais detalhes, visite o seguinte link. http://support.microsoft.com/kb/q293177
fonte
Os livros on-line incluem vários motivos pelos quais você pode não conseguir eliminar um índice.
Também pode haver outros motivos.
fonte
dbcc checktable
é necessário?Isso é um pouco simplista, mas se você tiver concluído as sugestões do DTA, tente remover as sessões de ajuste desse servidor pela interface do DTA.
fonte