Speichern von Änderungen ist nicht zulässig Fehlermeldung in SSMS

In diesem Artikel können Sie das Problem umgehen, bei dem Sie eine Fehlermeldung erhalten, wenn Sie versuchen, eine Tabelle in SQL Server Management Studio (SSMS) zu speichern.

Original Version des Produkts:   SQL Server
Ursprüngliche KB-Nummer:   956176

Problembeschreibung

Wenn Sie versuchen, eine Tabelle zu speichern, nachdem Sie Änderungen an der Tabelle mithilfe des Designers in SQL Server Management Studio vorgenommen haben, wird möglicherweise die folgende Fehlermeldung angezeigt:

Das Speichern von Änderungen ist nicht zulässig. Die Änderungen, die Sie vorgenommen haben, erfordern, dass die folgenden Tabellen gelöscht und neu erstellt werden. Sie haben entweder Änderungen an einer Tabelle vorgenommen, die nicht neu erstellt oder aktiviert werden können, indem Sie die Option Speichern von Änderungen verhindern, bei denen die Tabelle erneut erstellt werden muss.

Dieses Problem tritt auf, wenn Sie eine oder mehrere der folgenden Änderungen an der Tabelle vornehmen:

  • Sie ändern die Einstellung Nullen zulassen für eine Spalte.
  • Sie ordnen Spalten in der Tabelle neu an.
  • Sie ändern den Datentyp der Spalte.
  • Sie fügen eine neue Spalte hinzu.
  • Sie ändern die filegroup einer Tabelle oder Ihrer text/image Daten.

Ursache

Dieses Problem tritt auf, weil das Speichern von Änderungen verhindern, die die Option zum erneuten Erstellen von Tabellen erfordern,   in SQL Server Management Studio standardmäßig aktiviert ist.

Wenn Sie eine Tabelle so ändern, dass Sie die Metadatenstruktur der Tabelle ändern und dann die Tabelle speichern, muss die Tabelle basierend auf diesen Änderungen neu erstellt werden. Dies kann zu einem Verlust von Metadaten und einem direkten Datenverlust während der erneuten Erstellung der Tabelle führen. Wenn Sie im Fenster SQL Server Management Studio (SSMS) das Kontrollkästchen Speichern von Änderungen verhindern, die die Option Tabelle erneutes Erstellen erfordern , im Abschnitt Designer aktivieren, erhalten Sie die Fehlermeldung, die im Abschnitt "Problembeschreibung" erwähnt wird.

Problemumgehung

Um dieses Problem zu umgehen, verwenden Sie ALTER TABLE Transact-SQL-Anweisungen, um die Änderungen an der Metadaten-Struktur einer Tabelle vorzunehmen.

Um beispielsweise " MyDate "-Spalte vom Typ "DateTime" in der Tabelle " MyTable " zu ändern, um NULL-Werte zu akzeptieren, können Sie Folgendes verwenden:

alter table MyTable alter column MyDate7 datetime NULL

Wichtig

Es wird dringend empfohlen, dieses Problem nicht zu umgehen, indem Sie die Option Speichern von Änderungen verhindern deaktivieren, die eine erneute Erstellung der Tabelle erfordern. Weitere Informationen zu den Risiken beim Deaktivieren dieser Option finden Sie im Abschnitt "Weitere Informationen".

Weitere Informationen

Führen Sie die folgenden Schritte aus, um das Speichern von Änderungen zu ändern , die die Option zum erneuten Erstellen von Tabellen erfordern :

  1. Öffnen Sie SQL Server Management Studio.

  2. Klicken Sie im Menü Extras auf Optionen.

  3. Klicken Sie im Navigationsbereich des Fensters Optionen auf Designer.

  4. Aktivieren oder deaktivieren Sie das Kontrollkästchen Speichern von Änderungen verhindern, bei denen das erneute Erstellen der Tabelle erforderlich ist, und klicken Sie dann auf OK.

Hinweis

Wenn Sie diese Option deaktivieren, werden Sie nicht gewarnt, wenn Sie die Tabelle speichern, dass die von Ihnen vorgenommenen Änderungen die Metadatenstruktur der Tabelle geändert haben. In diesem Fall kann ein Datenverlust auftreten, wenn Sie die Tabelle speichern.

Gefahr der Deaktivierung der Option "Speichern von Änderungen, die die Wiederherstellung von Tabellen erfordern" verhindern

Obwohl das Deaktivieren dieser Option Ihnen helfen kann, das erneute Erstellen einer Tabelle zu vermeiden, kann dies auch dazu führen, dass Änderungen verloren gehen. Nehmen Sie beispielsweise an, dass Sie das Feature zur Änderungsnachverfolgung in SQL Server aktivieren, um Änderungen an der Tabelle nachzuverfolgen. Wenn Sie einen Vorgang ausführen, der eine erneute Erstellung der Tabelle bewirkt, erhalten Sie die Fehlermeldung, die im Abschnitt " Problembeschreibung " erwähnt wird. Wenn Sie diese Option deaktivieren, werden die vorhandenen Änderungsnachverfolgungsinformationen jedoch gelöscht, wenn die Tabelle neu erstellt wird. Daher wird empfohlen, dass Sie dieses Problem nicht umgehen, indem Sie die Option deaktivieren.

Führen Sie die folgenden Schritte aus, um zu bestimmen, ob das Feature für die Änderungsnachverfolgung für eine Tabelle aktiviert ist:

  1. Suchen Sie in SQL Server Management Studio die Tabelle im Objekt-Explorer.
  2. Klicken Sie mit der rechten Maustaste auf die Tabelle, und klicken Sie dann auf Eigenschaften.
  3. Klicken Sie im Dialogfeld Tabelleneigenschaften auf Änderungsnachverfolgung. Wenn der Wert des Änderungs nach Verfolgungs Elements auf true festgelegt ist, ist diese Option für die Tabelle aktiviert. Wenn der Wert auf false festgelegt ist, ist diese Option deaktiviert.

Wenn das Change Tracking Feature 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 im Tabellen-Designer-Tool enthält.
  2. Klicken Sie mit der rechten Maustaste auf die Datenbank, die diese Tabelle enthält, und klicken Sie dann auf Eigenschaften.
  3. Klicken Sie im Dialogfeld Datenbankeigenschaften auf Änderungsnachverfolgung.
  4. Legen Sie den Wert des Änderungs nach Verfolgungs Elements auf true fest, und klicken Sie dann auf OK.
  5. Klicken Sie mit der rechten Maustaste auf die Tabelle, und klicken Sie dann auf Eigenschaften.
  6. Klicken Sie im Dialogfeld Tabelleneigenschaften auf Änderungsnachverfolgung.
  7. Legen Sie den Wert des Änderungs nach Verfolgungs Elements auf true fest, und klicken Sie dann auf OK.
  8. Klicken Sie im Menü Extras auf Optionen.
  9. Klicken Sie im Dialogfeld Optionen auf Designer.
  10. Aktivieren Sie das Kontrollkästchen Speichern von Änderungen, die die Wiederherstellung von Tabellen erfordern, verhindern , und klicken Sie dann auf OK.
  11. Ändern Sie im Tabellen-Designer-Tool die Einstellung NULL zulassen für eine vorhandene Spalte.
  12. Versuchen Sie, die Änderung an der Tabelle zu speichern.