Como posso modificar o tipo em uma tabela que possui um índice? Tentei fazer uma alteração de coluna em uma tabela vazia para modificar o tipo de data e hora para varchar (15) e obtive erros dizendo que tinha dependências na coluna (que acabou sendo índices).
Consegui contornar esse problema facilmente localmente, clicando com o botão direito do mouse no índice e criando um script, mas preciso implementá-lo em outros servidores nos quais não terei acesso ao nome do índice.
Existe uma maneira de criar um script que elimine qualquer índice, deixe-me fazer esse tipo de dados mudar na coluna e depois ler o índice? Obrigado!
fonte
Para alterar qualquer coluna, primeiro você deve eliminar o índice ou quaisquer outras restrições que contenham essa coluna e depois criar o índice / restrição novamente. Mas essa tarefa deve ser executada por um DBA, pois qualquer queda no índice ou restrição afetará, por um lado, os dados que estão sendo consultados - enquanto o índice é descartado e, por outro lado, bloqueia a tabela inteira pelo tempo em que o índice for recuperado. criada. Você precisa garantir que os usuários estejam cientes dessa manutenção pequena ou grande (depende do tamanho da tabela). Boa sorte!
No entanto, a criação do índice pode ser feita com a opção Online, que é menos bloqueadora.
fonte
Se você soltar o índice primeiro, não poderá lê-lo novamente, a menos que o índice seja recriado. O que você pode fazer para desativar a imposição da restrição.
Após a execução desse script, a restrição não será aplicada e você poderá inserir dados sem se preocupar com as verificações de restrição. Você pode alterar a tabela novamente, para reativar as restrições.
Quaisquer violações anteriores não serão verificadas ou corrigidas, mas as entradas após a restrição ter sido imposta serão verificadas.
fonte
Existem 2 erros na resposta do Niko (faltam 2 condições de object_id). E não é necessário
group by
:fonte