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


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

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

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

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

14 624

14 ответов:

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  • по умолчанию среда 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. Нажмите кнопку ОК
  6. попробуйте изменить таблицу
  7. ваши изменения будут выполнены по желанию

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

Un-tick the

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

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

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

sneaky_check_box_in_option

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

Description in Photos format

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

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

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

alter table MyTable alter column MyDate7 datetime NULL"

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

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

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

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

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

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