Estou tentando adicionar uma coluna a uma tabela com muitos dados no SQL Server 2005, usando SSMS.
Então, procuro a tabela, selecione Modificar e adicione a nova coluna. Então, quando pressiono Salvar, recebo o seguinte aviso:
Salvando a definição Alterações em tabelas com grandes quantidades de dados podem levar um tempo considerável. Enquanto as alterações estiverem sendo salvas, os dados da tabela não estarão acessíveis
Eu estou bem com isso, o banco de dados está offline e eu tenho o tempo todo no mundo, então pressione Sim.
No entanto, a operação continua o tempo limite após cerca de 30 segundos com esta mensagem:
Não foi possível modificar a tabela. Tempo limite expirado. O período de tempo limite decorrido antes da conclusão da operação ou o servidor não está respondendo.
Então, quando eu pressiono OK:
Usuário cancelado fora da caixa de diálogo Salvar (MS Visual Database Tools)
Eu não entendo isso. Eu configurei o tempo limite de execução como 0 (infinito) na caixa de diálogo de conexão SSMS e em Ferramentas -> Opções -> Execução de consulta -> SQL Server. Qual é o sentido de definir um tempo limite de execução se apenas for ignorado?
Alguém sabe qual valor de tempo limite está sendo usado aqui e como posso defini-lo?
fonte
O SSMS não deve ser usado para modificações gerais de dados. Sinta-se à vontade com o T-SQL e adicione a coluna conforme sugerido abaixo.
ALTER TABLE TableName ADD NewColumn INT
Na verdade, o SSMS está criando uma nova tabela com todas as colunas, importando dados para a nova tabela e descartando a tabela antiga. Mesmo se você tiver todo o tempo do mundo, se houver uma maneira eficiente de fazer as coisas, use o método certo. Para evitar essa confusão, no SQL Server 2008 não será permitido o método da GUI IIRC.
fonte