SQL Server 2008+ – Permitindo alterar estrutura de tabela

Até o SQL Server 2005 podíamos modificar a estrutura de uma tabela sem problema algum, mas isso no SQL Server 2008 não é mais permitido (será?).

Pois bem, existe uma configuração no SQL Server 2008 (desde a primeira versão e serve para o SQL Server 2012 também) que permite que as tabelas sejam alteradas, conforme imagem no final.

É só desmarcar a opção em destaque e o SQL Server não vai barrar mais a alteração.

Explicando um pouco por que o problema ocorre e o que a Microsoft buscou diminuir o risco: Quando se faz uma alteração em uma tabela o SQL faz o seguinte:

  1. Cria uma nova tabela temporária;
  2. Copia os dados da tabela sendo alterada para a nova tabela temporária;
  3. Faz um DROP na tabela sendo alterada;
  4. Cria uma nova tabela com a nova estrutura;
  5. Copia os dados da tabela temporária para a nova tabela;
  6. Faz um DROP da tabela temporária.

O problema é que em uma etapa destas, pode dar algum problema e termos perda de dados.

Nós sabemos, é só SQL Server… Mas adoramos!!

 

SQL_preventSaving

Figura 1

Leave a Reply

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

cinco + 2 =