Mensagem de erro ao tentar salvar uma tabela no SQL Server: "Salvar alterações não tem permissão"

Traduções de Artigos Traduções de Artigos
Artigo: 956176 - Ver produtos para os quais este artigo se aplica.
Expandir tudo | Reduzir tudo

Nesta página

Sintomas

Quando você usar a linguagem de definição de dados (DDL) para modificar uma tabela e tentar salvar a tabela em Microsoft SQL Server 2008, você pode receber a seguinte mensagem:
Não é permitido salvar as alterações. As alterações feitas exigem as tabelas a seguir para ser descartado e recriado. Foram feitas alterações em uma tabela que não podem ser recriadas ou habilitado a opção Impedir salvar alterações que exigem a tabela ser recriado.

Causa

Esse problema ocorre quando o Impedir salvar alterações que exigem recriação da tabela opção está habilitada e fazer uma ou mais das seguintes alterações na tabela:
  • Alterar o Permitir nulos configuração de uma coluna.
  • Reordenar colunas na tabela.
  • Alterar o tipo de dados da coluna.
  • Adicionar uma nova coluna.
Quando você altera uma tabela para que você altera a estrutura de metadados da tabela e salve a tabela, a tabela deve ser recriada essas alterações. Isso pode resultar na perda de metadados e direta perda de dados durante a recriação da tabela. Se você habilitar o Impedir salvar alterações que exigem recriação da tabela opção do Designer seção de SQL Server Management Studio (SSMS) opções janela, você recebe a mensagem de erro mencionada na seção "Sintomas".

Como contornar

Para contornar esse problema, use instruções Transact-SQL para fazer as alterações na estrutura de metadados de uma tabela. Para obter informações adicionais, consulte o tópico a seguir nos Manuais Online do SQL Server:

http://msdn.microsoft.com/en-us/library/ms190273.aspx

Por exemplo, alterar coluna MyDate do tipo datetime na tabela chamada MyTable para aceitar valores nulos, que você pode usar:

alter table MyTable alter column MyDate7 datetime NULL

Importante Recomendamos que você não solucionar esse problema desativando a opção Impedir salvar alterações que exigem recriação da tabela . Para obter mais informações sobre os riscos de desativar essa opção, consulte a seção "Mais informações".

Ponto Da Situação

A Microsoft confirmou que este é um bug em produtos Microsoft que estão listados na seção "Aplica-se a".

Mais Informação

Para alterar o Impedir salvar alterações que exigem recriação da tabela a opção, execute estas etapas:
  1. Abra SQL Server Management Studio (SSMS).
  2. Sobre o Ferramentas menu, clique em Opções.
  3. No painel de navegação do Opções janela, clique em Designers.
  4. Marque ou desmarque o Impedir salvar alterações que exigem recriação da tabela caixa de seleção e clique em OK.
Observação Se você desabilitar esta opção, você não é avisado quando você salva a tabela que as alterações que você fez alterou a estrutura de metadados da tabela. Nesse caso, pode ocorrer perda de dados quando você salva a tabela.

Risco de desativar a opção "Impedir salvar alterações que exigem recriação da tabela"

Embora desativar essa opção pode ajudar a evitar recriar uma tabela, também podem levar a perda de alterações. Por exemplo, suponha que você ative o recurso controle de alterações no SQL Server 2008 para rastrear as alterações para a tabela. Quando você executa uma operação que faz com que a tabela ser recriado, você recebe a mensagem de erro mencionada na seção "Sintomas". No entanto, se você desativar essa opção, as informações de controle de alterações existente é excluída quando a tabela é recriada. Portanto, recomendamos que você não solucionar esse problema desativando a opção.

Para determinar se o recurso controle de alterações está ativado para uma tabela, siga estas etapas:
  1. No SQL Server Management Studio, localize a tabela no Objeto Explorer.
  2. A tabela com o botão direito e clique em Propriedades.
  3. Na caixa de diálogo Propriedades da tabela , clique em Change Tracking.
Se o valor do item de Controle de alterações é True, essa opção é ativada para a tabela. Se o valor for False, essa opção é desativada.

Quando o recurso alterar rastreamento está habilitado, use instruções Transact-SQL para alterar a estrutura de metadados da tabela.

Etapas para reproduzir o problema

  1. No SQL Server Management Studio, crie uma tabela que contém uma chave primária na ferramenta do criador de tabela.
  2. O banco de dados que contém esta tabela com o botão direito e clique em Propriedades.
  3. No Propriedades do banco de dados caixa de diálogo, clique em Controle de alterações.
  4. Definir o valor de Controle de alterações item de Verdadeiroe clique em OK.
  5. A tabela com o botão direito e clique em Propriedades.
  6. No Propriedades da tabela caixa de diálogo, clique em Controle de alterações.
  7. Definir o valor de Controle de alterações item de Verdadeiroe clique em OK.
  8. Sobre o Ferramentas menu, clique em Opções.
  9. No Opções caixa de diálogo, clique em Designers.
  10. Clique para selecionar o Impedir salvar alterações que exigem recriação da tabela caixa de seleção e clique em OK.
  11. Na ferramenta do criador de tabelas, alterar o Permitir nulos configuração de uma coluna existente.
  12. Tente salvar a alteração na tabela.

Propriedades

Artigo: 956176 - Última revisão: 6 de junho de 2012 - Revisão: 1.0
A informação contida neste artigo aplica-se a:
  • Microsoft SQL Server 2008 Express
  • Microsoft SQL Server 2008 Express with Advanced Services
  • Microsoft SQL Server 2008 Standard
  • Microsoft SQL Server 2008 Developer
  • Microsoft SQL Server 2008 Enterprise
  • Microsoft SQL Server 2008 Web
  • Microsoft SQL Server 2008 Workgroup
  • Microsoft SQL Server 2008 R2 Datacenter
  • Microsoft SQL Server 2008 R2 Developer
  • Microsoft SQL Server 2008 R2 Enterprise
  • Microsoft SQL Server 2008 R2 Express
  • Microsoft SQL Server 2008 R2 Express with Advanced Services
  • Microsoft SQL Server 2008 R2 Standard
  • Microsoft SQL Server 2008 R2 Standard Edition for Small Business
  • Microsoft SQL Server 2008 R2 Web
  • Microsoft SQL Server 2008 R2 Workgroup
  • Microsoft SQL Server 2012 Developer
  • Microsoft SQL Server 2012 Enterprise
  • Microsoft SQL Server 2012 Express
  • Microsoft SQL Server 2012 Standard
  • Microsoft SQL Server 2012 Web
  • SQL Server 2012 Enterprise Core
Palavras-chave: 
kbsqlsetup sql2008relnotetools sql2008relnote kbprb kbmt KB956176 KbMtpt
Tradução automática
IMPORTANTE: Este artigo foi traduzido por um sistema de tradução automática (também designado por Machine translation ou MT), não tendo sido portanto revisto ou traduzido por humanos. A Microsoft tem artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais. O objectivo é simples: oferecer em Português a totalidade dos artigos existentes na base de dados do suporte. Sabemos no entanto que a tradução automática não é sempre perfeita. Esta pode conter erros de vocabulário, sintaxe ou gramática? erros semelhantes aos que um estrangeiro realiza ao falar em Português. A Microsoft não é responsável por incoerências, erros ou estragos realizados na sequência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza actualizações frequentes ao software de tradução automática (MT). Obrigado.
Clique aqui para ver a versão em Inglês deste artigo: 956176

Submeter comentários

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com