none
Desabilitar todos os Indices do Banco RRS feed

  • Pergunta

  • Boa Tarde

    Pessoal preciso liberar uma atualização de sistema e devida a uma alteração no tamanho de um campo varchar de 9 para 20 em alguns índices esta ocorrendo problema com os índices ativos, gostaria de saber se existe uma forma de desabilitar todos os índices do banco de dados e reabilitar os mesmos posteriormente existe uma forma de se fazer isso? 

    terça-feira, 29 de abril de 2014 19:05

Respostas

  • Acho que voce vai ter problemas com isso, porem, se estiver mesmo querendo alterar uma coluna, pode-se tentar:

    ALTER TABLE xxxTABLE NOCKECK CONSTRAINT xxxFK
    
    alter table xxxTable alter column xxxColuna varchar(20) not null 
    
    ALTER TABLE XXXTABLE CHECK CONSTRAINT XXXFk

    Repito, pode-se ter problemas de consistencia de dados, problemas com FK, com procedures e triggers que fazem algum tipo de validacao nestes campos, bem como as rules.

    quarta-feira, 7 de maio de 2014 19:13
  • Eder,

    Mas qual é a mensagem de erro que esta sendo retornada?

    A princípio mudar o tamanho da coluna é algo que no seu caso não deveria impactar na integridade ou relacionamento dos dados, pois você esta aumentando o tamanho, o que vai chegar impacto é no processo de atualização das páginas de dados, extendeds, índices e com certeza terá algumas fragmentações.


    Pedro Antonio Galvão Junior [MVP | Microsoft Evangelist | Microsoft Partner | Engenheiro de Softwares | Especialista em Banco de Dados | SorBR.Net | Professor Universitário | MSIT.com]

    sexta-feira, 9 de maio de 2014 13:45

Todas as Respostas

  • Eder

    qual a mensagem de erro que vc esta recebendo?

    Você até consegue desabilitar os indices, mas acho que isto não será a solução de seu problema...

    você consegue postar os detalhes de sua tabela (estrutura) e a alteração que vc precisa?


    Att.
    Marcelo Fernandes

    MCP, MCDBA, MCSA, MCTS, MCITP, MCT.
    Se útil, classifique!!!
    Me siga no twitter: @marcelodba

    terça-feira, 29 de abril de 2014 19:20
  • Eder,

    Então, um detalhe é importante, você esta falando em desabilitar ou excluir os índices?

    O processo menos custoso de processamento para o SQL Server é realizar o processo de desabilitar o índice, pois o mesmo já esta criado, e que posteriormente será somente atualizado e reorganizado, ao invês de ser recriado, organizado e atualizado.


    Pedro Antonio Galvão Junior [MVP | Microsoft Evangelist | Microsoft Partner | Engenheiro de Softwares | Especialista em Banco de Dados | SorBR.Net | Professor Universitário | MSIT.com]

    quarta-feira, 7 de maio de 2014 15:34
  • Acho que voce vai ter problemas com isso, porem, se estiver mesmo querendo alterar uma coluna, pode-se tentar:

    ALTER TABLE xxxTABLE NOCKECK CONSTRAINT xxxFK
    
    alter table xxxTable alter column xxxColuna varchar(20) not null 
    
    ALTER TABLE XXXTABLE CHECK CONSTRAINT XXXFk

    Repito, pode-se ter problemas de consistencia de dados, problemas com FK, com procedures e triggers que fazem algum tipo de validacao nestes campos, bem como as rules.

    quarta-feira, 7 de maio de 2014 19:13
  • Eder,

    Mas qual é a mensagem de erro que esta sendo retornada?

    A princípio mudar o tamanho da coluna é algo que no seu caso não deveria impactar na integridade ou relacionamento dos dados, pois você esta aumentando o tamanho, o que vai chegar impacto é no processo de atualização das páginas de dados, extendeds, índices e com certeza terá algumas fragmentações.


    Pedro Antonio Galvão Junior [MVP | Microsoft Evangelist | Microsoft Partner | Engenheiro de Softwares | Especialista em Banco de Dados | SorBR.Net | Professor Universitário | MSIT.com]

    sexta-feira, 9 de maio de 2014 13:45