Невозможно изменить дизайн таблицы в SQL Server 2008

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

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

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

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

Я зарегистрировался на SQL Server с проверкой подлинности Windows, типа сервера в качестве механизма базы данных и имени сервера как .\SQLExpress.

Пожалуйста, дайте мне способ исправить эту проблему или способ изменить настройки SQL Server... пожалуйста, дайте мне указания.. спасибо..

Ответ 1

Ответ на сайте MSDN:

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

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

  • Добавление нового столбца в середину таблицы
  • Удаление столбца
  • Изменение нулевой точности столбца
  • Изменение порядка столбцов
  • Изменение типа данных столбца

РЕДАКТИРОВАТЬ 1:

Дополнительная полезная информация из здесь:

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

  • Откройте SQL Server Management Studio (SSMS).
  • В меню "Сервис" выберите "Параметры".
  • В навигационной панели окна "Параметры" щелкните "Дизайнеры".
  • Выберите или снимите флажок "Предотвратить сохранение изменений, требующих переопределение таблицы", и нажмите "ОК".

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

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

Хотя выключение этой опции может помочь вам избежать повторного создания таблицу, это также может привести к потерям изменений. Например, предположим, что что вы включили функцию отслеживания изменений в SQL Server 2008 для отслеживать изменения в таблице. Когда вы выполняете операцию, которая вызывает таблицу, которая будет воссоздана, вы получите сообщение об ошибке, которое упомянутых в разделе "Симптомы". Однако, если вы отключите это, существующая информация отслеживания изменений удаляется, если таблица воссоздается. Поэтому мы рекомендуем вам не работать вокруг этой проблемы, отключив опцию.

Settings, screen shot

Ответ 2

Вы можете напрямую добавить ограничение для таблицы

ALTER TABLE TableName
ADD CONSTRAINT ConstraintName PRIMARY KEY(ColumnName)
GO 

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

Вариант 2:

вы можете изменить параметры SQL Management Studio, например

Чтобы изменить этот параметр, в меню "Сервис" выберите "Параметры", Дизайнеры, а затем щелкните "Дизайнеры таблиц и баз данных". Выберите или снимите флажок Запретить сохранение изменений, которые требуют, чтобы таблица была re-created.

Ответ 3

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

Пять быстрых кликов

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

  • Инструменты
  • Функции
  • Конструкторы
  • Запретить сохранение изменений, требующих повторного создания таблицы
  • OK.

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

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

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

  • При изменении типа данных столбца в таблице "Представление дизайна" при сохранении изменений база данных удаляет таблицу внутри, а затем повторно создает новую.

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

Ответ 4

Просто зайдите в SQL Server Management Studio → Инструменты → Параметры → Дизайнер; и снимите флажок "не сохранять изменения, которые требуют пересоздания таблицы".