Ошибка Sql Server "сохранение изменений запрещено" ► запретить сохранение изменений, требующих повторного создания таблицы

когда я создаю таблицу в SQL Server и сохраняю ее, если я пытаюсь изменить дизайн таблицы, например изменить тип столбца с int на real, я получаю эту ошибку:

сохранение изменений не допускается. Внесенное изменение требует удаления и повторного создания следующей таблицы. Вы либо внесли изменения в таблицу, которую невозможно воссоздать, либо включили параметр запретить сохранение изменений, требующих повторного создания таблицы.

почему я должен воссоздать таблицу? Я просто хочу изменить тип данных с smallint до real.

таблица пуста, и я не использовал его до сих пор.

14 ответов


с сохранить (не разрешено) диалоговое окно на MSDN :

на сохранить (Не разрешено) диалоговое окно предупреждает Вас, что сохранение изменений не разрешено, поскольку внесенные вами изменения требуют перечисленного таблицы для удаления и повторного создания.

следующие действия могут потребовать повторного создания таблицы:

  • добавление нового столбца в середину таблицы
  • падение a колонка
  • изменение столбца nullability
  • изменение порядка столбцов
  • изменение типа данных столбца

чтобы изменить эту опцию, на инструменты, нажмите кнопку опции разверните дизайнеры и нажмите кнопку конструкторы таблиц и баз данных. Выберите или очистите предотвратить сохранение изменений, которые требуют, чтобы таблица вновь созданный флажок.

Смотрите Также Colt Kwong Запись В Блоге:
сохранение изменений в среде SQL 2008 Management Studio


вы используете SSMS?

Если да, перейти в меню Инструменты >> Параметры >> Дизайнеры и снять галочку с "запретить сохранение изменений, требующих повторного создания таблицы"


запретить сохранение изменений, требующих повторного создания таблицы

пятью быстрыми нажатиями

Prevent saving changes that require table re-creation in five clicks

  1. инструменты
  2. опции
  3. дизайнеры
  4. запретить сохранение изменений, требующих повторного создания таблицы
  5. OK.

после сохранения, повторить proceudure, чтобы вновь поставить галочки. Этот сейф защищает от случайной потери данных.

дальнейших объяснений

  • по умолчанию среда SQL Server Management Studio предотвращает удаление таблиц, так как при удалении таблицы ее содержимое теряется.*

  • при изменении типа данных столбца в представлении конструктора таблицы при сохранении изменений база данных отбрасывает таблицу внутрь, а затем воссоздает новый.

*ваши конкретные обстоятельства не будут представлять последствия, так как ваша таблица пуста. Я предоставляю это объяснение полностью, чтобы улучшить ваше понимание процедуры.


чтобы изменить параметр запретить сохранение изменений, требующих повторного создания таблицы, выполните следующие действия:

откройте SQL Server Management Studio (SSMS). В меню Сервис выберите пункт Параметры.

в области навигации окна Параметры щелкните конструкторы.

установите или снимите флажок запретить сохранение изменений, требующих повторного создания таблицы, а затем нажмите кнопку ОК.

Примечание: если вы отключите эту опцию, вы не предупредили при сохранении таблицы, внесенные изменения изменили структуру метаданных таблицы. В этом случае может произойти потеря данных при сохранении таблицы.

enter image description here


это очень простая и простая проблема настройки, которая может быть исправлена за 5 секунд, выполнив следующие шаги

чтобы сохранить изменения после изменения таблицы, выполните следующие действия для настройки sql:

  1. откройте Microsoft SQL Server Management Studio 2008
  2. выберите пункт меню Сервис, затем выберите пункт Параметры
  3. Выберите Дизайнеров
  4. снимите флажок " запретить сохранение изменений, требующих повторного создания таблицы" вариант
  5. нажмите OK
  6. попробуйте изменить таблицу
  7. ваши изменения будут выполнены по желанию

перейти на инструмент расположенном в верхнем меню.
Выберите опции из выпадающего списка.У вас есть всплывающее окно Теперь выберите дизайнеры опция, расположенная в левом блоке меню. Отключите опцию запретить сохранение изменений, требующих повторного создания таблицы. Нажмите на кнопку OK.


Un-tick на Prevent saving changes that require table re-creation box from Инструменты ► Опции ► Конструкторы tab.

пример SQL Server 2012:

enter image description here


и на всякий случай, если кто-то здесь тоже не обращает внимания (как я):

для Microsoft SQL Server 2012, в диалоговом окне Параметры, есть подлый маленький флажок, который, по-видимому, скрывает все другие настройки. Хотя я должен сказать, что скучал по этому маленькому монстру все это время!!!

после этого вы можете продолжить шаги, дизайнер, снимите флажок предотвратить сохранение бла-бла-бла...

sneaky_check_box_in_option


Tools > > Options > > Designers и снимите флажок "запретить сохранение изменений, требующих повторного создания таблицы":

Description in Photos format


скопировал из этой ссылке "... Важно: мы настоятельно рекомендуем вам не обойти эту проблему путем отключения запретить сохранение изменений, что требует повторного создания таблицы вариант. Дополнительные сведения о рисках отключения этой опции см. В разделе "Дополнительная информация". "

" ...чтобы обойти эту проблему, используйте инструкции Transact-SQL для внесения изменений в структуру метаданных таблицы. Для получения дополнительной информации см. следующая тема в SQL Server книги в Интернете

например, чтобы изменить столбец MyDate типа datetime в таблице под названием MyTable для принятия значений NULL, вы можете использовать:

alter table MyTable alter столбец MyDate7 datetime NULL"


1) откройте инструмент, который находится сверху.
2) Выберите из раскрывающегося списка.
3) теперь появляется всплывающее окно, и теперь вы можете выбрать опцию designers из списка меню с левой стороны.
4) Теперь для предотвращения сохранения изменений необходимо снять флажок, необходимый для повторного создания таблицы. Теперь нажмите OK.


в меню "Сервис" нажмите "Параметры", выберите "дизайнеры" в боковом меню и снимите флажок "предотвратить изменения, которые могут привести к воссозданию таблицы". Затем сохраните изменения


Если вы не можете увидеть "предотвратить сохранение изменений, необходимых для повторного создания таблицы" в списке, как это изображение

необходимо включить отслеживание изменений.

  • щелкните правой кнопкой мыши на базе данных и выберите Свойства
  • Нажмите кнопку Изменить отслеживание и сделать его включить
  • Go Tools - > Options - > Designer еще раз и снимите флажок.

Если вы используете SQL server Management studio, перейдите к Инструменты > > Параметры > > конструкторы и снимите флажок " запретить сохранение изменений, требующих повторного создания таблицы" Это работает со мной