Wenn ich eine Tabelle in SQL Server erstelle und speichere, wenn ich versuche, das Tabellendesign zu ändern, beispielsweise einen Spaltentyp von int in real zu ändern, erhalte ich folgende Fehlermeldung:
Das Speichern von Änderungen ist nicht zulässig. Für die von Ihnen vorgenommene Änderung muss die folgende Tabelle gelöscht und erneut erstellt werden. Sie haben entweder Änderungen an einer Tabelle vorgenommen, die nicht erneut erstellt werden kann, oder Sie haben die Option aktiviert, um das Speichern von Änderungen zu verhindern, bei denen die Tabelle neu erstellt werden muss.
Warum muss ich die Tabelle neu erstellen? Ich möchte nur einen Datentyp von smallint
in real
ändern.
Der Tisch ist leer und ich habe ihn bis jetzt nicht benutzt.
Von Dialogfeld Speichern (nicht zulässig) in MSDN :
Das Dialogfeld Save (nicht zulässig) weist Sie darauf hin, dass das Speichern von Änderungen .__ ist. nicht zulässig, da für die von Ihnen vorgenommenen Änderungen das aufgeführte Tabellen werden gelöscht und neu erstellt.
Bei den folgenden Aktionen muss möglicherweise eine Tabelle neu erstellt werden:
- Hinzufügen einer neuen Spalte zur Mitte der Tabelle
- Eine Spalte löschen
- Ändern der Spalten-Nullfähigkeit
- Reihenfolge der Spalten ändern
- Datentyp einer Spalte ändern <<<<
Um diese Option zu ändern, klicken Sie im Menü Tools auf Options und erweitern Sie Designers und klicken Sie dann auf Table and Database Designers. Aktivieren oder deaktivieren Sie das Kontrollkästchen Verhindern, dass Änderungen an der Tabelle nicht gespeichert werden sollen Kontrollkästchen neu erstellt.
Siehe auch Colt Kwong Blog-Eintrag:
Das Speichern von Änderungen ist in SQL 2008 Management Studio nicht zulässig.
Verwenden Sie SSMS?
Wenn ja, gehen Sie zum Menü Extras >> Optionen >> Designer und deaktivieren Sie „Speichern von Änderungen verhindern, die eine erneute Erstellung der Tabelle erfordern“
Verhindern, dass Änderungen gespeichert werden, die eine erneute Erstellung der Tabelle erfordern
Fünf schnelle Klicks
- Werkzeuge
- Optionen
- Designer
- Verhindern, dass Änderungen gespeichert werden, die eine erneute Erstellung der Tabelle erfordern
- OK.
Wiederholen Sie den Vorgang nach dem Speichern, um das Kästchen erneut zu markieren. Dies schützt vor versehentlichem Datenverlust.
Weitere Erklärung
Standardmäßig verhindert SQL Server Management Studio das Löschen von Tabellen, da beim Löschen einer Tabelle der Inhalt der Daten verloren geht. *
Beim Ändern der Datentypen einer Spalte in der Entwurfsansicht der Tabelle löscht die Datenbank beim Speichern der Änderungen die Tabelle intern und erstellt dann eine neue Tabelle.
* Ihre spezifischen Umstände haben keine Konsequenzen, da Ihr Tisch leer ist. Ich führe diese Erklärung vollständig aus, um Ihr Verständnis des Verfahrens zu verbessern.
Führen Sie die folgenden Schritte aus, um das Speichern der Änderungen zu verhindern, bei denen die Option zum erneuten Erstellen der Tabelle erforderlich ist:
Öffnen Sie SQL Server Management Studio (SSMS). Klicken Sie im Menü Extras auf Optionen.
Klicken Sie im Navigationsbereich des Optionsfensters auf Designer.
Aktivieren oder deaktivieren Sie das Kontrollkästchen Speichern der Änderungen verhindern, für die die Tabelle neu erstellt werden muss, und klicken Sie dann auf OK.
Note: Wenn Sie diese Option deaktivieren, werden Sie beim Speichern der Tabelle nicht gewarnt, dass die von Ihnen vorgenommenen Änderungen die Metadatenstruktur der Tabelle geändert haben. In diesem Fall kann beim Speichern der Tabelle ein Datenverlust auftreten.
Es ist ein sehr einfaches und einfaches Einstellungsproblem, das durch folgende Schritte in 5 Sekunden behoben werden kann
Um Änderungen nach dem Ändern der Tabelle speichern zu können, führen Sie die folgenden Schritte für Ihre SQL-Einstellung aus:
Gehe auf Tool im oberen Menü.
Wählen Sie Optionen aus dem Dropdown-Menü. Sie haben jetzt ein Popup-Menü Designers im linken Menüblock. Deaktivieren Sie die Option Verhindern Sie das Speichern von Änderungen, für die eine erneute Erstellung der Tabelle erforderlich ist . Klicken Sie auf OK.
Und nur für den Fall, dass jemand hier nicht aufpasst (wie ich):
Für Microsoft SQL Server 2012 gibt es im Dialogfeld "Optionen" ein hinterlegtes kleines Kontrollkästchen, mit dem alle anderen Einstellungen sichtbar ausgeblendet werden. Obwohl ich sagen muss, dass ich dieses kleine Monster die ganze Zeit vermisst habe !!!
Danach können Sie mit den Schritten fortfahren, Designer, deaktivieren Sie das Speichern von bla bla bla ...
Aus diesem Link "Kopiert. Wichtig: Wir empfehlen dringend, dass Sie dieses Problem nicht umgehen, indem Sie die Option" Speichern von Änderungen verhindern, die eine erneute Erstellung von Tabellen erfordern "deaktivieren. Weitere Informationen zu den Risiken des Abbiegens von dieser Option finden Sie im Abschnitt "Weitere Informationen". ''
"... Um dieses Problem zu umgehen, verwenden Sie Transact-SQL-Anweisungen, um die Änderungen an der Metadatenstruktur einer Tabelle vorzunehmen. Weitere Informationen finden Sie im folgenden Thema in SQL Server-Onlinedokumentation
Um beispielsweise die MyDate-Spalte des Typs datetime in einer Tabelle namens MyTable in NULL-Werte zu ändern, können Sie Folgendes verwenden:
alter table MyTable alter Spalte MyDate7 datetime NULL "
Dies kann leicht in Microsoft SQL Server geändert werden.
- Öffnen Sie Microsoft SQL Server Management Studio 2008
- Klicken Sie auf das Menü Extras
- Klicken Sie auf Optionen
- Wählen Sie Designer aus
- Deaktivieren Sie "Verhindern, dass Änderungen gespeichert werden, für die eine erneute Erstellung der Tabelle erforderlich ist".
- OK klicken
1) Öffnen Sie das oben liegende Werkzeug.
2) Wählen Sie Optionen aus der Auswahlliste.
3) Nun erscheint das Popup und Sie können jetzt die Designer-Option aus der Liste der Menüs auf der linken Seite auswählen.
4) Jetzt müssen Sie verhindern, dass Änderungen gespeichert werden, die das erneute Erstellen der Tabelle erfordern. Jetzt klicken Sie auf OK.
Klicken Sie im Menü Extras auf Optionen, wählen Sie Designer aus dem Seitenmenü und deaktivieren Sie die Option, um Änderungen zu verhindern, die zur Neuerstellung einer Tabelle führen können. Speichern Sie dann die Änderungen
Wenn Sie das "Verhindern des Speicherns von Änderungen, die eine erneute Erstellung der Tabelle erforderlich machen" in einer solchen Liste nicht sehen kann Das Bild
Sie müssen die Änderungsnachverfolgung aktivieren.
Wenn Sie SQL Server Management Studio verwenden, gehen Sie zu Tools >> Optionen >> Designer und deaktivieren Sie die Option "Speichern von Änderungen verhindern, für die eine erneute Erstellung von Tabellen erforderlich ist" Dies funktioniert bei mir