Varchar (255) к Varchar (МАКС)

Действительно ли возможно изменить тип столбца в базе данных SQL Server 2008 от varchar(255) кому: varchar(MAX) не имея необходимость отбрасывать таблицу и воссоздавать?

Studio управления SQL Server бросает меня ошибка каждый раз, когда я пытаюсь сделать это с помощью этого - но сохранить меня головная боль была бы хороша знать, могу ли я изменить тип, не имея необходимость ОТБРАСЫВАТЬ и СОЗДАВАТЬ.

Спасибо

46
задан marc_s 23 April 2010 в 05:10
поделиться

2 ответа

Вы должны уметь делать это с помощью TSQL.

Что-то вроде

ALTER TABLE [table] ALTER COLUMN [column] VARCHAR(MAX)
78
ответ дан 26 November 2019 в 20:23
поделиться

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

Это новая «функция» в SQL Server Management Studio 2008, которая по умолчанию включена. Всякий раз, когда вы вносите более крупное изменение, SSMS может воссоздать таблицу, только создав новую, а затем переместив данные из старой - все в фоновом режиме (среди прочего, эти изменения включают изменение порядка столбцов).

Эта опция отключена по умолчанию, поскольку, если ваша таблица имеет ограничения FK и прочее, этот способ повторной обработки таблицы может не сработать. Но вы определенно можете включить эту функцию!

alt text

Он находится в разделе Инструменты> Параметры , и как только вы снимите этот флажок, вы снова сможете вносить подобные изменения в структуру таблицы в конструкторе таблиц.

13
ответ дан 26 November 2019 в 20:23
поделиться
Другие вопросы по тегам:

Похожие вопросы: