Temos uma tabela com 2,3 bilhões de linhas. Gostaríamos de alterar uma coluna de NOT NULL para NULL. A coluna está contida em um índice (não no índice clusterizado ou PK). O tipo de dados não está mudando (é um INT). Apenas a nulidade. A declaração é a seguinte:
Alter Table dbo.Workflow Alter Column LineId Int NULL
A operação demora mais de 10 antes de ser interrompida (nós ainda não a deixamos terminar porque é uma operação de bloqueio e estava demorando muito). Provavelmente copiaremos a tabela para um servidor dev para testar quanto tempo realmente leva. Mas, estou curioso para saber se alguém sabe o que o SQL Server está fazendo sob o capô ao converter de NOT NULL para NULL? Além disso, os índices afetados precisarão ser reconstruídos? O plano de consulta gerado não indica o que está acontecendo.
A tabela em questão é agrupada (não um heap).