Tempo limite para salvar a tabela no SQL Server

16

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?

Tor Haugen
fonte

Respostas:

27

Parece uma configuração de tempo limite. Portanto, seu SSMS acha que leva muito tempo e cancela a conexão para você. As funções do servidor SQL de volta. Mas existe ajuda. Você não é a primeira pessoa a encontrar isso.

Veja aqui .

Para todos que não querem clicar no link. Aqui está a resposta vencedora do preço:

Depois de acertar o mesmo erro, me deparei com a configuração correta.

No Management Studio, no menu Ferramentas, selecione Opções e clique em "Designers". Existe uma opção chamada "Substituir valor de tempo limite da cadeia de conexão para atualizações do designer da tabela:" Na caixa "Tempo limite da transação após:", você verá a mágica 30 segundos

Peter Schuetze
fonte
6

//FAÇA O SEGUINTE:

Abra o estúdio de gerenciamento do SQL Server -> Menu Ferramentas -> Opções -> Guia Designers -> Designer de Tabela e Banco de Dados -> Aumente o tempo limite de 30 segundos para 65535 segundos .--> OK

// Agora você pode salvar suas alterações na tabela. // Espero que ajude, e confira o meu blog @: //www.ogolla.blogspot.com


fonte
11
Uau, isso é uma configuração de tempo limite de mais de 18 horas. Hora de tirar uma soneca!
22414 Peter Peter Schuetze
0

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.

Sankar Reddy
fonte
3
Eu entendo o seu ponto. Mas eu prefiro ter minhas colunas em uma ordem específica. Parvo, você pode pensar, mas aí está. Usando ALTER TABLE, a nova coluna é adicionada ao final. Eu acho que é por isso que o SSMS deve soltar e recriar a tabela, de fato.
quer