Jeśli chcę zapisać zmiany w tabeli, wcześniej zapisane w SQL Server Management Studio (brak danych w tabeli), pojawia się komunikat o błędzie:
Zapisywanie zmian jest niedozwolone. Wprowadzone zmiany wymagają usunięcia i ponownego utworzenia poniższych tabel. Dokonałeś zmian w tabeli, których nie można odtworzyć, lub włączyłeś opcję Zapobiegaj zapisywaniu zmian, które wymagają ponownego utworzenia tabeli.
Co może uniemożliwić łatwą edycję tabeli? A może jest to zwykły sposób, aby SQL Server Management Studio wymagał ponownego utworzenia tabeli do edycji? Co to jest - ta „opcja Zapobiegaj zapisywaniu zmian” ?
Odpowiedzi:
Przejdź do Narzędzia -> Opcje -> Projektanci-> Odznacz „Zapobiegaj zapisywaniu zmian wymagających ponownego utworzenia tabeli”. Voila
Dzieje się tak, ponieważ czasami trzeba upuścić i odtworzyć tabelę, aby coś zmienić. Może to chwilę potrwać, ponieważ wszystkie dane muszą zostać skopiowane do tabeli tymczasowej, a następnie ponownie wstawione do nowej tabeli. Ponieważ SQL Server domyślnie ci nie ufa, musisz powiedzieć „OK, wiem, co robię, teraz pozwól mi wykonać swoją pracę”.
źródło
Narzędzia> Opcje
Odznacz powyższą opcję
źródło
Aby obejść ten problem, użyj instrukcji SQL, aby wprowadzić zmiany w strukturze metadanych tabeli.
Ten problem występuje, gdy włączona jest opcja „Zapobiegaj zapisywaniu zmian wymagających ponownego utworzenia tabeli” .
Źródło: Komunikat o błędzie podczas próby zapisania tabeli w SQL Server 2008: „Zapisywanie zmian jest niedozwolone”
źródło
Zamiast odznaczać to pole (złe rozwiązanie), powinieneś przestać edytować dane w ten sposób. Jeśli dane muszą zostać zmienione, zrób to za pomocą skryptu, abyś mógł łatwo przenieść je na produkcję i aby był pod kontrolą źródła. Ułatwia to również odświeżanie zmian testowych po zepchnięciu produkcji do deweloperów, aby umożliwić programistom pracę z nowszymi danymi.
źródło
PRZEJDŹ do SSMS i spróbuj tego
Menu >> Narzędzia >> Opcje >> Projektanci >> Odznacz „Zapobiegaj zapisywaniu zmian wymagających ponownego utworzenia tabeli”.
Oto bardzo dobre wyjaśnienie tego: http://blog.sqlauthority.com/2009/05/18/sql-server-fix-management-studio-error-saving-changes-in-not-permitted-the-changes -y-masz-zrobił-wymaga-następujących-tabel-do-upuszczenia-i-ponownie-stworzył-masz-albo-dokonał-zmian-do-karty /
źródło
Wiele zmian, które można bardzo łatwo i wizualnie wprowadzić w edytorze tabel w SQL Server Management Studio, faktycznie wymaga SSMS, aby upuścić tabelę w tle i odtworzyć ją od zera. Nawet proste rzeczy, takie jak zmiana kolejności kolumn, nie mogą być wyrażone w standardowej instrukcji SQL DDL - wszystko, co można zrobić w SSMS, to upuszczenie i odtworzenie tabeli.
Ta operacja może być a) bardzo czasochłonna na dużym stole lub b) może nawet zakończyć się niepowodzeniem z różnych powodów (takich jak ograniczenia FK i inne rzeczy). Dlatego SSMS w SQL Server 2008 wprowadził tę nową opcję, którą inne odpowiedzi już zidentyfikowały.
Na początku może to wydawać się sprzeczne z intuicją, aby zapobiec takim zmianom - i na pewno jest to uciążliwe dla serwera deweloperów. Ale na serwerze produkcyjnym ta opcja i jej domyślna wartość zapobiegania takim zmianom mogą potencjalnie uratować życie!
źródło
Istnieje ryzyko wyłączenia tej opcji. Możesz utracić zmiany, jeśli masz włączone śledzenie zmian (tabele).
Chris
http://chrisbarba.wordpress.com/2009/04/15/sql-server-2008-cant-save-changes-to-tables/
źródło