Ошибка Sql "Сохранение изменений не допускается". ► Запретить сохранение изменений, требующих повторного создания таблицы.
Когда я создаю таблицу в SQL Server и сохраняю ее, если я попытаюсь изменить дизайн таблицы, например изменить тип столбца от int до реального, я получаю эту ошибку:
Сохранение изменений не допускается. Сделанное вами изменение требует, чтобы следующая таблица была удалена и воссоздана. Вы либо внесли изменения в таблицу, которую невозможно воссоздать, либо включить параметр, чтобы предотвратить сохранение изменений, требующих повторной создания таблицы.
Почему мне нужно воссоздать таблицу? Я просто хочу изменить тип данных от smallint
до real
.
Стол пуст, и я не использовал его до сих пор.
Ответы
Ответ 1
От Диалоговое окно" Сохранить (не разрешено) в MSDN:
Диалоговое окно Сохранить (не разрешено) предупреждает вас о том, что сохранение изменений не разрешено, поскольку внесенные вами изменения требуют таблицы, которые нужно удалить и заново создать.
Следующие действия могут потребовать воссоздания таблицы:
- Добавление нового столбца в середину таблицы
- Удаление столбца
- Изменение нулевой точности столбца
- Изменение порядка столбцов
- Изменение типа данных столбца < < <
Чтобы изменить этот параметр, в меню Сервис выберите Параметры, разверните Дизайнеры, а затем нажмите Дизайнеры таблиц и баз данных. Выберите или снимите флажок Предотвратить сохранение изменений, требующих, чтобы таблица была re-created.
См. также
Colt Kwong Запись блога:
Сохранение изменений не разрешено в SQL 2008 Management Studio
Ответ 2
Используете ли вы SSMS?
Если да, перейдите в меню Инструменты → Параметры → Дизайнеры и снимите флажок "Предотвратить сохранение изменений, требующих повторного создания таблицы"
Ответ 3
Запретить сохранение изменений, требующих повторного создания таблицы
Пять быстрых кликов
![Запретить сохранение изменений, требующих повторного создания таблицы за пять кликов]()
- Инструменты
- Функции
- Конструкторы
- Запретить сохранение изменений, требующих повторного создания таблицы
- OK.
После сохранения повторите процедуру, чтобы снова поставить галочку в поле. Это безопасная защита от случайной потери данных.
Дальнейшее объяснение
-
По умолчанию SQL Server Management Studio предотвращает удаление таблиц, так как при отбрасывании таблицы его содержимое теряется. *
-
При изменении типа данных столбца в таблице "Представление дизайна" при сохранении изменений база данных удаляет таблицу внутри, а затем повторно создает новую.
* Ваши конкретные обстоятельства не будут иметь последствия, так как ваша таблица пуста. Я полностью объясняю это объяснение, чтобы улучшить ваше понимание процедуры.
Ответ 4
Очень простая и простая проблема установки, которая может быть исправлена за 5 секунд, выполнив следующие шаги
Чтобы сохранить изменения после изменения таблицы, выполните следующие действия для настройки вашего сайта:
- Откройте Microsoft SQL Server Management Studio 2008
- Выберите параметры меню "Сервис", затем "Параметры"
- Выберите "Дизайнеры"
- Снимите флажок "предотвратить сохранение изменений, требующих повторного создания таблицы"
- Нажмите "ОК"
- Попробуйте изменить таблицу
- Ваши изменения будут выполнены по желанию.
Ответ 5
Перейдите на Инструмент, расположенный в верхнем меню.
Выберите параметры из раскрывающегося списка. Теперь вы можете выбрать опцию Дизайнеры, расположенную в левой части меню. Снимите флажок Предотвратить сохранение изменений, требующих повторного создания таблицы. Нажмите кнопку OK.
Ответ 6
Чтобы изменить параметр "Предотвратить сохранение", для которого требуется повторное создание таблицы, выполните следующие действия:
Откройте SQL Server Management Studio (SSMS).
В меню "Сервис" выберите "Параметры".
В навигационной панели окна "Параметры" щелкните "Дизайнеры".
Выберите или снимите флажок "Предотвратить сохранение изменений, требующих переопределение таблицы", и нажмите "ОК".
Примечание. Если вы отключите этот параметр, вы не будете предупреждены, когда сохраните таблицу, что внесенные вами изменения изменили структуру метаданных таблицы. В этом случае потеря данных может произойти при сохранении таблицы.
![введите описание изображения здесь]()
Ответ 7
Отметьте поле Prevent saving changes that require table re-creation
на вкладке Инструменты ► Параметры ► Дизайнеры.
Пример SQL Server 2012:
![введите описание изображения здесь]()
Ответ 8
И на всякий случай кто-то здесь тоже не обращает внимания (как и я):
Для Microsoft SQL Server 2012 в диалоговом окне параметров есть скрытый маленький флажок, который APPARENTLY скрывает все остальные настройки. Хотя я должен сказать, что я пропустил этого маленького монстра все это время!
После этого вы можете приступить к шагам, дизайнеру, снять флажок, чтобы предотвратить сохранение бла-бла-бла...
![sneaky_check_box_in_option]()
Ответ 9
Скопировано из эта ссылка
"... Важно! Мы настоятельно рекомендуем вам не обойти эту проблему, отключив параметр" Предотвратить сохранение ", для которого требуется повторное создание таблицы. Дополнительные сведения о рисках отключения этой опции см. В разделе" Дополнительная информация ". ''
"... Чтобы обойти эту проблему, используйте инструкции Transact-SQL, чтобы внести изменения в структуру метаданных таблицы. Дополнительные сведения см. в следующем разделе в Электронная документация по SQL Server
Например, чтобы изменить столбец MyDate типа datetime в таблице под названием MyTable, чтобы принимать значения NULL, вы можете использовать:
изменить таблицу MyTable alter column MyDate7 datetime NULL "
Ответ 10
1) Откройте инструмент, который находится сверху.
2) Выберите параметры из списка выбора.
3) Теперь появляется всплывающее окно, и теперь вы можете выбрать вариант дизайнеров из списка меню слева.
4) Теперь запретить сохранение изменений необходимо отключить, чтобы потребовалось повторное создание таблицы. Теперь нажмите "ОК".
Ответ 11
В меню "Сервис" выберите "Параметры", выберите "Дизайнеры" в боковом меню и отмените запрет на изменения, которые могут привести к воссозданию таблицы. Затем сохраните изменения