Alteração de tabela não permitida no SQL Server 2008

Quando você tenta salvar uma alteração em tabela de banco de dados SQL Server 2008 usando o Microsoft SQL Server Management Studio pode receber a seguinte mensagem: "Não é permitido salvar as alterações. As alterações feitas requerem que as tabelas a seguir sejam descartadas e recriadas. Você alterou uma tabela que não pode ser recriada ou habilitou a opção Evitar salvar alterações que exijam recriação de tabela." (Mensagem/tela equivalente em inglês estão no final deste texto.)

A necessidade de excluir e recriar uma tabela surge com alterações estruturais como incluir uma nova coluna no meio das existentes, alterar tipo de uma coluna, trocar o "Permitir Nulos" de uma coluna de sim para não. Normalmente, o designer do Management Studio pode fazer isso automaticamente para você.

Note que os dados de colunas excluídas serão perdidos e que quando o tipo de uma coluna é modificado pode ocorrer perda de precisão dos dados. Embora o designer tente preservar os dados de sua tabela o máximo possível, é altamente aconselhável a execução de um backup antes de modificar a estrutura de um banco de dados de produção.

Para permitir a exclusão e recriação das tabelas pelo designer, vá no menu Ferramentas do Management Studio, clique em Opções, expanda Designers e clique em "Designers de Tabela e Banco de Dados" e desmarque a caixa de seleção "Evitar salvar alterações que exijam recriação de tabela".

______________________

Se o seu Management Studio é em inglês, a mensagem será: "Saving changes is not permitted. The changes you have made require the following tables to be dropped and re-created. You have either made changes to a table that can't be re-created or enabled the option Prevent saving changes that require the table to be re-created."

Nesse caso, para permitir a exclusão e recriação das tabelas pelo designer, vá no menu Tools do Management Studio, clique em Options, expanda Designers e clique em "Table and Database Designers" e desmarque a caixa de seleção "Prevent saving changes that require the table to be re-created".

 

blog comments powered by Disqus