Wenn ich eine Tabelle in SQL Server erstelle und speichere und versuche, das Tabellendesign zu bearbeiten, z. B. einen Spaltentyp von int in real zu ändern, wird folgende Fehlermeldung angezeigt:
Das Speichern von Änderungen ist nicht gestattet. Für die von Ihnen vorgenommene Änderung muss die folgende Tabelle gelöscht und neu erstellt werden. Sie haben entweder Änderungen an einer Tabelle vorgenommen, die nicht neu erstellt werden können, oder 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
nach ändern real
.
Der Tisch ist leer und ich habe ihn bis jetzt nicht benutzt.
sql-server-2008
save
ssms
menuitem
Arash
quelle
quelle
Antworten:
Im Dialogfeld Speichern (nicht zulässig) auf MSDN :
Siehe auch Colt Kwong-Blogeintrag: Das
Speichern von Änderungen ist in SQL 2008 Management Studio nicht zulässig
quelle
Verwenden Sie SSMS?
Wenn ja, gehen Sie zum Menü Extras >> Optionen >> Designer und deaktivieren Sie das Kontrollkästchen "Speichern von Änderungen verhindern, die eine Neuerstellung der Tabelle erfordern".
quelle
Weitere Erklärung
Standardmäßig verhindert SQL Server Management Studio das Löschen von Tabellen, da beim Löschen einer Tabelle deren Dateninhalt verloren geht. *
Wenn Sie den Datentyp einer Spalte in der Tabellenentwurfsansicht ändern und die Änderungen speichern, löscht die Datenbank die Tabelle intern und erstellt dann eine neue.
* Ihre besonderen Umstände haben keine Konsequenzen, da Ihre Tabelle leer ist. Ich gebe diese Erklärung vollständig, um Ihr Verständnis des Verfahrens zu verbessern.
quelle
Gehen Sie folgendermaßen vor, um die Option Änderungen am Speichern verhindern zu ändern, für die die Option zum erneuten Erstellen von Tabellen 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 von Änderungen verhindern, für die eine Neuerstellung der Tabelle erforderlich ist, und klicken Sie dann auf OK.
Hinweis : 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 es beim Speichern der Tabelle zu Datenverlust kommen.
quelle
Es ist ein sehr einfaches und einfaches Einstellungsproblem, das durch Befolgen dieser Schritte in 5 Sekunden behoben werden kann
Führen Sie die folgenden Schritte für Ihre SQL-Einstellung aus, damit Sie Änderungen speichern können, nachdem Sie die Tabelle geändert haben:
quelle
Gehen Sie zu Tool im oberen Menü.
Wählen Sie Optionen aus der Dropdown-Liste. Sie haben jetzt ein Popup. Wählen Sie die Option Designer im linken Menüblock . Deaktivieren Sie die Option Speichern von Änderungen verhindern, die eine Neuerstellung der Tabelle erfordern . Klicken Sie auf OK.
quelle
Deaktivieren Sie das
Prevent saving changes that require table re-creation
Feld von Extras ► Optionen ► Designer Registerkarte.Beispiel für SQL Server 2012:
quelle
Dies kann in Microsoft SQL Server leicht geändert werden .
quelle
Von diesem Link kopiert "... Wichtig Wir empfehlen dringend, dieses Problem nicht zu umgehen, indem Sie die Option" Speichern verhindern "deaktivieren, die eine Neuerstellung der Tabelle erfordern. Weitere Informationen zu den Risiken des Deaktivierens dieser Option finden Sie unter" Weitere Informationen "Abschnitt."
"... 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 Books Online
Um beispielsweise die MyDate-Spalte vom Typ datetime in der Tabelle MyTable so zu ändern, dass NULL-Werte akzeptiert werden, können Sie Folgendes verwenden:
alter table MyTable alter column MyDate7 datetime NULL "
quelle
Und nur für den Fall, dass jemand hier auch nicht aufpasst (wie ich):
Für Microsoft SQL Server 2012 gibt es im Dialogfeld "Optionen" ein kleines Kontrollkästchen, mit dem alle anderen Einstellungen scheinbar 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 verhindern bla bla bla ...
quelle
Extras >> Optionen >> Designer und deaktivieren Sie "Speichern von Änderungen verhindern, die eine Neuerstellung der Tabelle erfordern":
quelle
1) Öffnen Sie das Werkzeug oben.
2) Wählen Sie Optionen aus der Auswahlliste.
3) Jetzt erscheint das Popup und Sie können jetzt die Designer-Option aus der Liste der Menüs auf der linken Seite auswählen.
4) Verhindern Sie nun, dass Änderungen beim Speichern deaktiviert werden müssen, damit die Tabelle neu erstellt werden kann. Klicken Sie jetzt auf OK.
quelle
Klicken Sie im Menü Extras auf Optionen, wählen Sie im Seitenmenü Designer aus und deaktivieren Sie Änderungen, die zur Neuerstellung einer Tabelle führen können. Speichern Sie dann die Änderungen
quelle
Wenn Sie nicht die „Verhindern , dass die Änderungen zu speichern , die Tabelle Neuschöpfung erforderlich“ sehen in der Liste wie das Bild
Sie müssen die Änderungsverfolgung aktivieren.
quelle
Wenn Sie SQL Server Management Studio verwenden, gehen Sie zu Extras >> Optionen >> Designer und deaktivieren Sie das Kontrollkästchen "Speichern von Änderungen verhindern, die eine Neuerstellung der Tabelle erfordern". Es funktioniert bei mir
quelle