Fehlermeldung beim Versuch, eine Tabelle in SQL Server zu speichern: "Speichern von Änderungen ist nicht zulässig"

SPRACHE AUSWÄHLEN SPRACHE AUSWÄHLEN
Artikel-ID: 956176 - Produkte anzeigen, auf die sich dieser Artikel bezieht
Alles erweitern | Alles schließen

Auf dieser Seite

Problembeschreibung

Wenn Sie (Data Definition Language, Datendefinitionssprache) verwenden, um eine Tabelle zu ändern, und Sie zum Speichern der Tabelle Microsoft SQL Server 2008 versuchen, erhalten Sie die folgende Meldung angezeigt:
Speichern von Änderungen ist nicht zulässig. Die von Ihnen vorgenommenen Änderungen erfordern die folgenden Tabellen gelöscht und neu erstellt werden. Sie haben entweder die vorgenommenen Änderungen an einer Tabelle, die kann nicht neu erstellt werden, oder die Option zum Speichern von Änderungen verhindern aktiviert müssen die Tabelle neu erstellt werden.

Ursache

Dieses Problem tritt auf, wenn die Änderungen, die die Neuerstellung der Tabelle erfordern nicht speichern Option aktiviert ist, und Sie eine oder mehrere der folgenden Änderungen an der Tabelle vornehmen:
  • Ändern Sie die NULL-Werte zulassen die Einstellung für eine Spalte.
  • Sie ordnen Sie Spalten in der Tabelle neu.
  • Sie ändern den Datentyp der Spalte.
  • Eine neue Spalte hinzufügen.
Wenn Sie eine Tabelle ändern, so dass Sie die Metadaten-Struktur der Tabelle ändern und speichern Sie dann die Tabelle, muss die Tabelle neu erstellt werden basierend auf diesen Änderungen. Dies kann zum Verlust der Metadaten und in einem direkten Verlust von Daten während der Neuerstellung der Tabelle führen. Wenn Sie aktivieren die Änderungen, die die Neuerstellung der Tabelle erfordern nicht speichern Option in der Designer im Abschnitt der SQL Server Management Studio (SSMS) Optionen Fenster, erhalten Sie die Fehlermeldung, die im Abschnitt "Problembeschreibung" erwähnt wird.

Abhilfe

Um dieses Problem zu umgehen, verwenden Sie Transact-SQL-Anweisungen, um die Änderungen an den Metadaten-Struktur einer Tabelle vornehmen. Weitere Informationen finden Sie in dem folgenden Thema in der Onlinedokumentation zu SQL Server:

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

Aufgerufen, z. B. MyDate Spalte des Typs Datetime in Tabelle ändern MyTable NULL-Werte akzeptiert, die Sie verwenden können:

alter table MyTable alter column MyDate7 datetime NULL

Wichtig Wir empfehlen dringend, dass Sie nicht um dieses Problem arbeiten durch das Deaktivieren der Option Speichern von Änderungen, die Neuerstellung der Tabelle erfordern, verhindern . Weitere Informationen über die Risiken durch Deaktivieren dieser Option finden Sie im Abschnitt "Weitere Informationen".

Status

Microsoft hat bestätigt, dass es sich um einen Fehler in der Microsoft-Produkten handelt, die im Abschnitt "Gilt für" aufgeführt sind.

Weitere Informationen

So ändern Sie die Änderungen, die die Neuerstellung der Tabelle erfordern nicht speichern Option, gehen Sie folgendermaßen vor:
  1. SQL Server Management Studio (SSMS) zu öffnen.
  2. Auf der Tools Menü, klicken Sie auf Optionen.
  3. Klicken Sie im Navigationsbereich von der Optionen Fenster, klicken Sie auf Designer.
  4. Aktivieren oder deaktivieren Sie die Änderungen, die die Neuerstellung der Tabelle erfordern nicht speichern Kontrollkästchen Sie, und klicken Sie dann auf OK.
Hinweis Wenn Sie diese Option deaktivieren, werden Sie keine Warnung beim Speichern der Tabelle, die die von Ihnen vorgenommenen Änderungen wurden die Metadaten-Struktur der Tabelle geändert. In diesem Fall kann Datenverluste auftreten, wenn Sie die Tabelle speichern.

Risiko durch Deaktivieren der Option "Speichern von Änderungen, die Neuerstellung der Tabelle erfordern verhindern"

Durch Deaktivieren dieser Option zu vermeiden, Neuerstellung einer Tabelle kann zwar beitragen, kann es zu Änderungen verloren gehen auch führen. Genommen Sie an, dass Sie die Funktion der Änderungsnachverfolgung in SQL Server 2008, in der Tabelle Änderungen verfolgen aktivieren. Wenn Sie einen Vorgang ausführen, bei dem die Tabelle neu erstellt werden, erhalten Sie die Fehlermeldung, die im Abschnitt "Problembeschreibung" erwähnt wird. Wenn Sie diese Option deaktivieren, wird jedoch die vorhandene Informationen zur Änderungsnachverfolgung gelöscht, wenn die Tabelle neu erstellt wird. Aus diesem Grund empfehlen wir, dass Sie nicht um dieses Problem arbeiten durch die Option deaktivieren.

Um festzustellen, ob die Funktion die Änderungsnachverfolgung für eine Tabelle aktiviert ist, gehen Sie folgendermaßen vor:
  1. Suchen Sie in SQL Server Management Studio in der Tabelle im Objekt-Explorer.
  2. Mit der rechten Maustaste in der Tabelle, und klicken Sie dann auf Eigenschaften.
  3. Klicken Sie im Dialogfeld Tabelleneigenschaften auf Änderungsnachverfolgung.
Wenn der Wert des Elements Änderungsnachverfolgung auf Truefestgelegt ist, ist diese Option für die Tabelle aktiviert. Wenn der Wert Falseist, ist diese Option deaktiviert.

Wenn die Änderungsnachverfolgung-Funktion aktiviert ist, verwenden Sie Transact-SQL-Anweisungen, um die Metadaten-Struktur der Tabelle zu ändern.

Schritte zum Reproduzieren des Problems

  1. Erstellen Sie in SQL Server Management Studio eine Tabelle, die einen Primärschlüssel in den Tabellen-Designer-Tool enthält.
  2. Mit der rechten Maustaste der Datenbank, die diese Tabelle enthält, und klicken Sie dann auf Eigenschaften.
  3. In der Datenbankeigenschaften Klicken Sie im Dialogfeld klicken Sie auf Nachverfolgen von Änderungen.
  4. Legen Sie den Wert von der Nachverfolgen von Änderungen Element True, und klicken Sie dann auf OK.
  5. Mit der rechten Maustaste in der Tabelle, und klicken Sie dann auf Eigenschaften.
  6. In der Tabelleneigenschaften Klicken Sie im Dialogfeld klicken Sie auf Nachverfolgen von Änderungen.
  7. Legen Sie den Wert von der Nachverfolgen von Änderungen Element True, und klicken Sie dann auf OK.
  8. Auf der Tools Menü, klicken Sie auf Optionen.
  9. In der Optionen Klicken Sie im Dialogfeld klicken Sie auf Designer.
  10. Aktivieren Sie die Änderungen, die Neuerstellung der Tabelle erfordern nicht speichern Kontrollkästchen Sie, und klicken Sie dann auf AUF OK.
  11. Ändern Sie im Tabellen-Designer-Tool, das NULL-Werte zulassen die Einstellung auf einer vorhandenen Spalte.
  12. Versuchen Sie, um die Änderung auf die Tabelle zu speichern.

Eigenschaften

Artikel-ID: 956176 - Geändert am: Sonntag, 7. Oktober 2012 - Version: 3.0
Die Informationen in diesem Artikel beziehen sich auf:
  • 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
Keywords: 
kbtshoot kbsqlsetup sql2008relnotetools sql2008relnote kbprb kbmt KB956176 KbMtde
Maschinell übersetzter Artikel
Wichtig: Dieser Artikel wurde maschinell und nicht von einem Menschen übersetzt. Die Microsoft Knowledge Base ist sehr umfangreich und ihre Inhalte werden ständig ergänzt beziehungsweise überarbeitet. Um Ihnen dennoch alle Inhalte auf Deutsch anbieten zu können, werden viele Artikel nicht von Menschen, sondern von Übersetzungsprogrammen übersetzt, die kontinuierlich optimiert werden. Doch noch sind maschinell übersetzte Texte in der Regel nicht perfekt, insbesondere hinsichtlich Grammatik und des Einsatzes von Fremdwörtern sowie Fachbegriffen. Microsoft übernimmt keine Gewähr für die sprachliche Qualität oder die technische Richtigkeit der Übersetzungen und ist nicht für Probleme haftbar, die direkt oder indirekt durch Übersetzungsfehler oder die Verwendung der übersetzten Inhalte durch Kunden entstehen könnten.
Den englischen Originalartikel können Sie über folgenden Link abrufen: 956176
Microsoft stellt Ihnen die in der Knowledge Base angebotenen Artikel und Informationen als Service-Leistung zur Verfügung. Microsoft übernimmt keinerlei Gewährleistung dafür, dass die angebotenen Artikel und Informationen auch in Ihrer Einsatzumgebung die erwünschten Ergebnisse erzielen. Die Entscheidung darüber, ob und in welcher Form Sie die angebotenen Artikel und Informationen nutzen, liegt daher allein bei Ihnen. Mit Ausnahme der gesetzlichen Haftung für Vorsatz ist jede Haftung von Microsoft im Zusammenhang mit Ihrer Nutzung dieser Artikel oder Informationen ausgeschlossen.

Ihr Feedback an uns

 

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