Tabela de salvamento do tempo limite no SQL Server

15

Estou tentando adicionar uma coluna a uma tabela com muitos dados no SQL Server 2005, usando o SSMS.

Então eu navego até a tabela, selecione Modificar e adiciono a nova coluna. Então, quando pressiono Salvar, recebo o seguinte aviso:

Saving Definition Changes to tables with large amounts of data could take a considerable amount of time. While changes are being saved, table data will not be accessible

Estou bem com isso, o banco de dados está off-line e tenho todo o tempo do mundo, por isso, pressione Sim.

No entanto, a operação começa a expirar após cerca de 30 segundos com esta mensagem:

Unable to modify table. Timeout expired. The timeout period elapsed prior to completion of the operation or the server is not responding.

Então, quando eu pressionar OK:

User canceled out of save dialog (MS Visual Database Tools)

Eu não entendo isso. Eu configurei o tempo limite de execução para 0 (infinito) na caixa de diálogo de conexão do SSMS e em Ferramentas - > Opções - > Execução de consulta - > Servidor SQL. Qual é o sentido de definir um tempo limite de execução se ele for ignorado?

Alguém sabe que valor de tempo limite está sendo usado aqui e como posso defini-lo?

    
por Tor Haugen 23.12.2009 / 00:45

3 respostas

25

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

Consulte aqui .

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

After hitting the same error, I stumbled upon the corrent setting.

In the Management Studio, from the Tools menu, select Options, then click "Designers". There is an option called "Override connection string time-out value for table designer updates:" In the "Transaction time-out after:" box, you will see the magic 30 seconds

    
por 23.12.2009 / 01:10
5

// FAÇA O SEGUINTE:

Abra o estúdio de gerenciamento do SQL Server - > Menu Ferramentas - > Opções - > Guia Designers - > Designer de tabelas e bancos de dados - > Aumenta o tempo limite de 30 segundos para 65535 segundos .-- > OK

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

    
por 26.02.2010 / 11:41
0

O SSMS não deve ser usado para modificações gerais de dados. Fique à vontade com o T-SQL e adicione a coluna como sugerido abaixo.

ALTER TABLE TableName ADICIONAR NewColumn INT

O SSMS está realmente criando uma nova tabela com todas as colunas, importando dados para a nova tabela e eliminando a tabela antiga. Mesmo se você tiver todo o tempo do mundo, se houver uma maneira eficiente de fazer as coisas, você deve usar o método correto. Para evitar essa bagunça, no SQL Server 2008 não será permitido o método GUI IIRC.

    
por 23.12.2009 / 23:43