Varchar(255)到Varchar(MAX)

Dar*_*bio 46 sql varchar types

是否可以将SQL Server 2008数据库中的列类型更改varchar(255)varchar(MAX)不必删除表并重新创建?

每次我尝试使用它时,SQL Server Management Studio都会抛出一个错误 - 但为了节省自己的头痛,我很高兴知道我是否可以在不必DROP和CREATE的情况下更改类型.

谢谢

Adr*_*der 78

您应该能够使用TSQL来完成它.

就像是

ALTER TABLE [table] ALTER COLUMN [column] VARCHAR(MAX)
Run Code Online (Sandbox Code Playgroud)


mar*_*c_s 13

'不允许保存更改.您所做的更改需要删除并重新创建以下表.您已对无法重新创建的表进行了更改,或者启用了"禁止保存需要重新创建表的更改"选项.选项'防止保存更改'未启用..

这是SQL Server Management Studio 2008中的一个新"功能",默认情况下已打开.每当您进行更大的更改时,SSMS只能通过创建一个新的表重新创建表,然后从旧的表中移动数据 - 所有这些都在后台(这些更改包括重新排序列等).

默认情况下,此选项处于关闭状态,因为如果您的表具有FK约束和内容,则重新执行该表的这种方式可能会失败.但你绝对可以打开这个功能!

alt text http://i42.tinypic.com/19pegj.png

它位于下方Tools > Options,一旦取消选中该选项,您就可以再次对表设计器中的表结构进行这些更改.